Menu
CoddyTech

Conversores de caminho

Parte da seção Fundamentos do Django do Journey de Django da Coddy. Lição 6 de 23.

Cada mesa do café tem um código QR, e cada código precisa da sua própria página. Uma rota pode corresponder a todos eles quando parte dela é um conversor de caminho. Um calendário pode usar dois:

path("calendar/<int:year>/<int:month>/", views.calendar),

A parte entre colchetes angulares é um conversor: um tipo, dois-pontos e um nome. int corresponde a um número inteiro e o converte em um int do Python. A view recebe cada valor como um argumento com esse nome:

def calendar(request, year, month):
    return HttpResponse(f"<h2>{month} / {year}</h2>")

Para /calendar/2026/3/, o Django chama calendar(request, year=2026, month=3). Um endereço que o conversor não corresponde, como /calendar/next/3/, retorna 404 e a view nunca é executada.

challenge icon

Desafio

Fácil

Dê a cada mesa sua própria página:

  • em menu/urls.py, uma rota que corresponda a /table/5/, /table/12/ e a qualquer outro número inteiro;
  • em menu/views.py, uma view table que retorne <h1>Table 5</h1> para a mesa 5, e assim por diante.
/table/abc/ retorna 404. Pressione Run: a prévia abre /table/5/.

Experimente você mesmo

from django.urls import path

from . import views

urlpatterns = [
    path("", views.home),
    path("about/", views.about),
    path("hours/", views.hours),
    path("contact/", views.contact),
]

Todas as lições de Fundamentos do Django

Pratique por conta própria: Playground de Django