Menu
CoddyTech

경로 변환기

Coddy Django 여정의 Django 기초 섹션에 포함된 레슨. 23개 중 6번째.

카페의 모든 테이블에는 QR 코드가 있으며, 각 코드에는 자체 페이지가 필요합니다. 일부가 경로 변환기인 경우 하나의 경로로 모든 코드를 처리할 수 있습니다. 달력 경로에는 두 개를 사용할 수 있습니다.

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

꺾쇠괄호 안의 부분은 변환기입니다. 형식, 콜론, 이름으로 이루어져 있습니다. int는 정수를 일치시키고 이를 Python int로 변환합니다. 뷰는 각 값을 해당 이름의 인수로 받습니다.

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

/calendar/2026/3/의 경우 Django는 calendar(request, year=2026, month=3)을 호출합니다. 변환기와 일치하지 않는 /calendar/next/3/ 같은 주소는 404 응답을 반환하며 뷰는 실행되지 않습니다.

challenge icon

챌린지

쉬움

모든 테이블에 각자의 페이지를 만들어 보세요.

  • menu/urls.py에서 /table/5/, /table/12/ 및 다른 모든 정수와 일치하는 경로 하나를 만드세요.
  • menu/views.py에서 테이블 5에 대해 <h1>Table 5</h1>을 반환하는 뷰 table을 만들고, 다른 테이블도 같은 방식으로 처리하세요.
/table/abc/는 404를 반환합니다. Run을 누르세요. 미리보기에서 /table/5/가 열립니다.

직접 해보기

from django.urls import path

from . import views

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

Django 기초의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드