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 benötigt eine eigene Seite. Eine Route kann auf alle 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>")Für /calendar/2026/3/ ruft Django calendar(request, year=2026, month=3) auf. Eine Adresse, auf die der Konverter nicht passt, etwa /calendar/next/3/, liefert 404, und die Ansicht wird nie ausgeführt.
Aufgabe
EinfachGib jedem Tisch seine eigene Seite:
- in
menu/urls.pyeine Route, die auf/table/5/,/table/12/und jede andere ganze Zahl passt; - in
menu/views.pyeine Ansichttable, die für Tisch 5<h1>Table 5</h1>zurückgibt und so weiter.
/table/abc/ führt zu einem 404-Fehler. Drücke auf Run: Die Vorschau öffnet /table/5/.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