Pfadkonverter
Teil des Abschnitts Django-Grundlagen der Django-Journey von Coddy. Lektion 6 von 23.
Jeder Tisch im Café hat einen QR-Code, und jeder Code braucht eine eigene Seite. Eine Route kann zu allen passen, wenn ein Teil davon ein Pfadkonverter ist. Ein Kalender könnte zwei verwenden:
path("calendar/<int:year>/<int:month>/", views.calendar),Der Teil in spitzen Klammern ist ein Konverter: ein Typ, ein Doppelpunkt, ein Name. int passt auf eine ganze Zahl und wandelt sie in ein Python-int um. Die Ansicht erhält jeden Wert als Argument mit diesem Namen:
def calendar(request, year, month):
return HttpResponse(f"<h2>{month} / {year}</h2>")Bei /calendar/2026/3/ ruft Django calendar(request, year=2026, month=3) auf. Eine Adresse, auf die der Konverter nicht passt, etwa /calendar/next/3/, führt zu einem 404-Fehler „Seite nicht gefunden“, und die Ansicht wird nicht ausgeführt.
Aufgabe
EinfachGib jedem Tisch eine eigene Seite.
- Füge in
menu/urls.pyeine Route hinzu, die auf/table/5/,/table/12/und jede andere ganze Zahl passt. Verweise daraufviews.table. - Schreibe in
menu/views.pyeine Viewtable. Ihr zweiter Parameter trägt den Namen des Konverters. Sie gibt für Tisch 5<h1>Table 5</h1>zurück.
Öffne /table/12/: Du siehst Tisch 12.
Probier es selbst
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
path("hours/", views.hours),
path("contact/", views.contact),
]
Alle Lektionen in Django-Grundlagen
1Deine erste Django-Website
Hallo, DjangoEine zweite Seite4Layouts und statische Dateien
Template-VererbungEin Titel für jede SeiteÜbe selbstständig: Django-Playground