Menu
CoddyTech

모든 음료를 위한 페이지

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

카페의 음료는 이제 DRINKS에 들어 있으며, 이는 menu/views.py에 있는 딕셔너리입니다. flat-white와 같은 키는 슬러그입니다. URL에 들어가도록 소문자 단어를 하이픈으로 연결한 것입니다.

slug 변환기는 문자, 숫자, 하이픈, 밑줄을 찾습니다. 여기서는 딕셔너리에서 조회하는 직원 모두에게 페이지를 제공합니다.

path("team/<slug:handle>/", views.team_member),


def team_member(request, handle):
    person = STAFF[handle]
    return HttpResponse(f"<h2>{person['role']}</h2>")

/team/maya-cohen/의 경우 뷰는 handle="maya-cohen"을 받고 이를 키로 사용합니다. 라우트 하나와 뷰 하나가 딕셔너리 전체를 처리하므로 새 항목을 추가하면 새 코드 없이 해당 페이지가 만들어집니다.

challenge icon

챌린지

쉬움

DRINKS에 있는 모든 음료에 각각 페이지를 만들어 주세요.

  1. menu/urls.py에 /drinks/latte/, /drinks/flat-white/ 및 다른 모든 키와 일치하는 경로를 하나 추가하세요. 이 경로를 views.drink에 연결하세요.
  2. menu/views.py에 drink 뷰를 작성하여 DRINKS에서 키를 조회하세요. 이름은 <h1>에, 설명은 그다음 <p>에 반환합니다.

/drinks/flat-white/를 열면 Flat White가 표시됩니다.

직접 해보기

from django.http import HttpResponse

DRINKS = {
    "espresso": {"name": "Espresso", "price": 2.5, "description": "A short, strong shot of coffee."},
    "latte": {"name": "Latte", "price": 3.5, "description": "Espresso with lots of steamed milk."},
    "flat-white": {"name": "Flat White", "price": 3.75, "description": "Espresso with a thin layer of silky milk."},
    "hot-chocolate": {"name": "Hot Chocolate", "price": 3, "description": "Dark chocolate melted into warm milk."},
}


def home(request):
    return HttpResponse("<h1>Welcome to Corner Café</h1><p>Fresh coffee and cake every day.</p>")


def about(request):
    return HttpResponse("Corner Café opened in 2026.")


def hours(request):
    return HttpResponse("Open every day from 8:00 to 18:00.")


def contact(request):
    return HttpResponse("Write to us at hello@cornercafe.example.")


def table(request, number):
    return HttpResponse(f"<h1>Table {number}</h1>")
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Django 기초의 모든 레슨

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