Gyakorlat – Nézetek létrehozása
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
A Visual Studio Code-ban nyissa meg a dog_shelters/views.py fájlt.
Az olvasási
from django.shortcuts import render
sor végén adja hozzá, get_object_or_404
a elemet. A sornak most a következőt kell olvasnia:from django.shortcuts import render, get_object_or_404
Az olvasási
from django.shortcuts import render
sor alatt adja hozzá a következő Python-kódot a modellek importálásához:from . import models
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)
A views.py végén adja hozzá a következő kódot, amely betölt egy adott menedéket az elsődleges kulcsával
pk
, 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.
Hozzon létre egy új fájlt dog_shelters urls.py néven.
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.
Nyissa meg a project/urls.py fájlt.
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
Az olvasási
TODO: Register URLconf
sor alatt adja hozzá a következőket:# TODO: Register URLconf path('', include('dog_shelters.urls')),
Fontos
A záró vessző megadása kötelező.
Az összes fájl mentéséhez válassza az Összes mentése lehetőséget>.