Gyakorlat – Általános nézetek implementálása az adatok megjelenítéséhez
Szeretnénk létrehozni egy új részletes oldalt a kutyák számára. Az általános nézet DetailView
használatával egyszerűsítjük a létrehozandó kód mennyiségét.
Fontos
Ez a gyakorlat feltételezi, hogy elvégezte a modul korábbi telepítési lépéseit.
DogDetail nézet létrehozása
Először a részletes nézetosztály létrehozásával kezdjük.
A Visual Studio Code-n belül nyissa meg a dog_shelters/views.py fájlt.
Az olvasási
# TODO: Import generic views
sor alatt adja hozzá a következő kódot az általános nézetek modul importálásához.# TODO: Import generic views from django.views import generic
Adja hozzá a következő kódot a views.py aljára a modell, a sablon és a környezetobjektum általános nézetének
DogDetail
létrehozásához és beállításához.class DogDetailView(generic.DetailView): model = models.Dog template_name = 'dog_detail.html' context_object_name = 'dog'
A részletes nézet regisztrálása
A létrehozott nézettel regisztrálhatjuk az elérési utat.
Nyissa meg a dog_shelters/urls.py fájlt.
Az olvasási
# TODO: Register detail view
sor alatt adja hozzá a következő kódot a miDogDetailView
elérési út regisztrálásához.# TODO: Register detail view path('dog/<int:pk>', views.DogDetailView.as_view(), name='dog_detail'),
Fontos
Jegyezze meg a sor végén lévő záró vesszőt.
A HTML-sablon létrehozása
Most létrehozza a HTML-sablont a kutya részleteinek megjelenítéséhez. Az objektum neve az űrlap létrehozásakor megadott módon lesz dog
megadva.
A Visual Studio Code-n belül hozzon létre egy új fájlt a dog_detail.html nevű dog_shelters/sablonokban.
Adja hozzá a következő kódot a dog_detail.html fájlhoz a sablon létrehozásához a kutya részleteinek megjelenítéséhez.
{% extends 'base.html' %} {% block title %} {{ dog.name }} {% endblock %} {% block content %} <h2>{{ dog.name }}</h2> <div>About {{ dog.name }} - {{ dog.description }}</div> {% endblock %}
Frissítse a menedék részleteit tartalmazó oldalt, hogy tartalmazza a hivatkozást
Az elérési út regisztrálva és a sablon létrehozásával frissíthetjük a menhely részletes sablonját, hogy hivatkozásokat tartalmazzon a kutya részletoldalára.
Nyissa meg a dog_shelters/templates/shelter_detail.html fájlt.
Az olvasási
{# TODO: Add link to dogs #}
sor alatt adja hozzá a következő kódot, hogy az egyes kutyák hivatkozásokat hozzanak létre a részletes nézethez.{# TODO: Add link to dogs #} <a href="{% url 'dog_detail' dog.id %}"> {{dog.name}} </a>
A lap tesztelése
Ha minden létrejön, nézzük meg működés közben az oldalt.
Mentse az összes fájlt az Összes fájl>mentése gombra kattintva.
Nyissa meg a
http://localhost:8000
URL-címet a böngészőben.A menedékhelyek listájában válassza a Contoso lehetőséget.
A kutyák listájában válassza a Roscoe lehetőséget.
Megjelenik a részletek lap.
Most létrehoztunk egy nézetet a Django általános nézetrendszerével!