Gyakorlat – Általános nézetek implementálása az adatok megjelenítéséhez

Befejeződött

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.

  1. A Visual Studio Code-n belül nyissa meg a dog_shelters/views.py fájlt.

  2. Az olvasási # TODO: Import generic viewssor 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
    
  3. 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.

  1. Nyissa meg a dog_shelters/urls.py fájlt.

  2. Az olvasási # TODO: Register detail viewsor alatt adja hozzá a következő kódot a mi DogDetailViewelé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.

  1. A Visual Studio Code-n belül hozzon létre egy új fájlt a dog_detail.html nevű dog_shelters/sablonokban.

  2. 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 %}
    

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.

  1. Nyissa meg a dog_shelters/templates/shelter_detail.html fájlt.

  2. 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.

  1. Mentse az összes fájlt az Összes fájl>mentése gombra kattintva.

  2. Nyissa meg a http://localhost:8000 URL-címet a böngészőben.

  3. A menedékhelyek listájában válassza a Contoso lehetőséget.

  4. A kutyák listájában válassza a Roscoe lehetőséget.

    Megjelenik a részletek lap.

    Screenshot of the details page for Roscoe.

Most létrehoztunk egy nézetet a Django általános nézetrendszerével!