Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach

Gib jedem Tisch eine eigene Seite.

  1. Füge in menu/urls.py eine Route hinzu, die auf /table/5/, /table/12/ und jede andere ganze Zahl passt. Verweise darauf views.table.
  2. Schreibe in menu/views.py eine View table. 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

Übe selbstständig: Django-Playground