이름이 지정된 URL
Coddy Django 여정의 Django 기초 섹션에 포함된 레슨. 23개 중 10번째.
홈 페이지는 소개 페이지로 연결되어야 합니다. 모든 링크에 "/about/"를 입력하면 주소가 바뀔 때까지는 작동하지만, 주소가 바뀌면 모든 링크가 깨집니다. 대신 각 경로에 이름을 지정하고 그 이름으로 주소를 만드세요. shop 앱의 urls.py는 다음과 같습니다.
app_name = "shop"
urlpatterns = [
path("cart/", views.cart, name="cart"),
path("products/<slug:slug>/", views.product, name="product"),
]app_name은 이름을 네임스페이스에 넣습니다. 전체 이름은 "shop:cart"이므로 두 앱이 각각 home을 가질 수 있습니다. reverse()는 이름을 다시 주소로 변환합니다. shop이 shop/ 아래에 포함된 경우는 다음과 같습니다.reverse("shop:cart") # "/shop/cart/"
reverse("shop:product", args=["mug"]) # "/shop/products/mug/""cart/"를 "basket/"으로 바꾸면 이름으로 만든 모든 주소에 변경 사항이 반영됩니다.
챌린지
쉬움menu/urls.py에서app_name = "menu"을 설정하고 모든 경로에 이름을 지정하세요:home,about,hours,contact,table,drink,order.- 홈 페이지에서 문단 뒤에 링크
<a href="...">About us</a>를 추가하세요. 링크 주소는reverse("menu:about")에서 가져옵니다.
실행을 누른 다음 About us를 클릭하세요.
직접 해보기
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
path("hours/", views.hours),
path("contact/", views.contact),
path("table/<int:number>/", views.table),
path("drinks/<slug:slug>/", views.drink),
path("order/", views.order),
]
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
Django 기초의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드