Gyakorlat – Nézetek létrehozása

Befejeződött

Szeretnénk frissíteni az alkalmazást, hogy a kutyamenhelyek listáját adja meg. Azt is szeretnénk, hogy az alkalmazás lehetővé tegye, hogy valaki kattintson vagy koppintson egy adott menedékre a részletek megtekintéséhez. Ehhez két nézetet hozunk létre, majd regisztráljuk a megfelelő útvonalakat.

Nézetek létrehozása

  1. A Visual Studio Code-ban nyissa meg a dog_shelters/views.py fájlt.

  2. Az olvasási from django.shortcuts import rendersor végén adja hozzá , get_object_or_404a elemet. A sornak most a következőt kell olvasnia:

    from django.shortcuts import render, get_object_or_404
    
  3. Az olvasási from django.shortcuts import rendersor alatt adja hozzá a következő Python-kódot a modellek importálásához:

    from . import models
    
  4. A views.py végén adja hozzá az alábbi kódot az összes menedék betöltéséhez, hozza létre a sablon környezeti objektumát, majd renderelje a sablont a felhasználó számára. Ez lesz a menedékhelyek listanézete és a webhely alapértelmezett lapja.

    def shelter_list(request):
        shelters = models.Shelter.objects.all()
        context = {'shelters': shelters}
        return render(request, 'shelter_list.html', context)
    
  5. A views.py végén adja hozzá a következő kódot, amely betölt egy adott menedéket az elsődleges kulcsávalpk, létrehozza a sablon környezeti objektumát, majd megjeleníti a sablont a felhasználó számára. Ez lesz a menedék részleteinek oldala.

    def shelter_detail(request, pk):
        shelter = get_object_or_404(models.Shelter, pk=pk)
        context = {'shelter': shelter}
        return render(request, 'shelter_detail.html', context)
    

Az URLconf létrehozása

Ahhoz, hogy nézeteink hívhatók legyenek, regisztrálni kell a megfelelő útvonalakat.

  1. Hozzon létre egy új fájlt dog_shelters urls.py néven.

  2. Adja hozzá a következő kódot a létrehozott két nézet elérési útjainak regisztrálásához:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('', views.shelter_list, name='shelter_list'),
        path('shelter/<int:pk>', views.shelter_detail, name='shelter_detail'),
        # More patterns to come later
    ]
    

Figyelje meg, hogy létrehoztunk egy alapértelmezett elérési utat (''), amely a nézetre shelter_list mutat. Regisztráltunk a nézetre shelter_detail való hivatkozáshoz isshelter/<int:pk>. Ahogy korábban kiemelte, pk a rendszer paraméterként adja át a pk következőnek shelter_detail: .

URLconf regisztrálása a projektünkhöz

A Django egy alapvető urls.py fájlt használ URLconfként. Ennek eredményeképpen gondoskodnunk kell arról, hogy a létrehozott példány megfelelően legyen regisztrálva.

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

  2. A fájl alján keresse meg a 17. sort, amely a következőt olvassa:

    from django.urls import path
    

    A sor végén adja hozzá a következőt , include: . Az új 17. sornak a következőnek kell lennie:

    from django.urls import path, include
    
  3. Az olvasási TODO: Register URLconfsor alatt adja hozzá a következőket:

    # TODO: Register URLconf
    path('', include('dog_shelters.urls')),
    

    Fontos

    A záró vessző megadása kötelező.

  4. Az összes fájl mentéséhez válassza az Összes mentése lehetőséget>.