Übung: Erstellen von Ansichten
Wir möchten unsere Anwendung aktualisieren, um eine Liste von Hundetierheimen bereitzustellen. Außerdem soll die Anwendung es ermöglichen, dass jemand auf ein einzelnes Tierheim klicken oder tippen kann, um die Details anzuzeigen. Hierfür werden zwei Ansichten erstellt und dann die entsprechenden Pfade registriert.
Erstellen von Ansichten
Öffnen Sie in Visual Studio Code dog_shelters/views.py.
Fügen Sie am Ende der Zeile, in der
from django.shortcuts import render
steht,, get_object_or_404
ein. Die Zeile sollte nun lauten:from django.shortcuts import render, get_object_or_404
Fügen Sie unterhalb der Zeile
from django.shortcuts import render
den folgenden Python-Code ein, um Ihre Modelle zu importieren:from . import models
Fügen Sie am Ende von views.py den folgenden Code ein, um alle Tierheime zu laden, das Kontextobjekt für die Vorlage zu erstellen und dann die Vorlage für den Benutzer zu rendern. Dies wird unsere Listenansicht für Tierheime und die Standardseite für unsere Website.
def shelter_list(request): shelters = models.Shelter.objects.all() context = {'shelters': shelters} return render(request, 'shelter_list.html', context)
Fügen Sie am Ende von views.py den folgenden Code hinzu, um ein bestimmtes Tierheim anhand seines
pk
oder Primärschlüssels zu laden, das Kontextobjekt für die Vorlage zu erstellen und dann die Vorlage für den Benutzer zu rendern. Dies wird zur Detailseite für ein Tierheim.def shelter_detail(request, pk): shelter = get_object_or_404(models.Shelter, pk=pk) context = {'shelter': shelter} return render(request, 'shelter_detail.html', context)
Erstellen der URLconf
Damit unsere Ansichten aufgerufen werden können, müssen wir die entsprechenden Pfade registrieren.
Erstellen Sie eine neue Datei mit dem Namen urls.py in dog_shelters.
Fügen Sie den folgenden Code hinzu, um die Pfade für die beiden von uns erstellten Ansichten zu registrieren:
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 ]
Beachten Sie, dass wir einen Standardpfad (''
) erstellt haben, um auf unsere shelter_list
-Ansicht zu verweisen. Wir haben auch shelter/<int:pk>
registriert, um auf unsere shelter_detail
-Ansicht zu verweisen. Wie bereits gesagt, wird pk
als pk
-Parameter an shelter_detail
übergeben.
Registrieren von URLconf bei unserem Projekt
Django verwendet eine Kerndatei urls.py als URLconf. Daher müssen wir sicherstellen, dass die von uns erstellte Datei ordnungsgemäß registriert ist.
Öffnen Sie project/urls.py.
Suchen Sie am Ende der Datei nach Zeile 17 mit dem folgenden Code:
from django.urls import path
Fügen Sie am Ende der Zeile
, include
hinzu. Die neue Zeile 17 sollte nun wie folgt lauten:from django.urls import path, include
Fügen Sie den folgenden Code unter der Zeile
TODO: Register URLconf
hinzu:# TODO: Register URLconf path('', include('dog_shelters.urls')),
Wichtig
Das nachstehende Komma ist erforderlich.
Speichern Sie alle Dateien, indem Sie Datei>Alle speichern auswählen.