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 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.

challenge icon

Aufgabe

Einfach

Gib jedem Tisch seine eigene Seite:

  • in menu/urls.py eine Route, die auf /table/5/, /table/12/ und jede andere ganze Zahl passt;
  • in menu/views.py eine Ansicht table, 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

Übe selbstständig: Django-Playground