Bộ chuyển đổi đường dẫn
Thuộc phần Kiến thức cơ bản về Django trong hành trình Django của Coddy. Bài học 6 trên 23.
Mỗi chiếc bàn trong quán cà phê đều có mã QR, và mỗi mã cần có trang riêng. Một route có thể khớp với tất cả các mã nếu một phần của nó là bộ chuyển đổi đường dẫn. Lịch có thể dùng hai bộ chuyển đổi:
path("calendar/<int:year>/<int:month>/", views.calendar),Phần nằm trong dấu ngoặc nhọn là một bộ chuyển đổi: kiểu, dấu hai chấm, tên. int khớp với một số nguyên và chuyển nó thành int của Python. Hàm view nhận từng giá trị dưới dạng đối số có tên tương ứng:
def calendar(request, year, month):
return HttpResponse(f"<h2>{month} / {year}</h2>")Với /calendar/2026/3/, Django gọi calendar(request, year=2026, month=3). Một địa chỉ mà bộ chuyển đổi không khớp, như /calendar/next/3/, sẽ trả về lỗi 404, không tìm thấy trang, và hàm view không chạy.
Thử thách
DễTạo một trang riêng cho mỗi bàn.
- Trong
menu/urls.py, thêm một tuyến khớp với/table/5/,/table/12/và mọi số nguyên khác. Trỏ tuyến đó đếnviews.table. - Trong
menu/views.py, viết một viewtable. Tham số thứ hai của view có tên của bộ chuyển đổi. View trả về<h1>Table 5</h1>cho bàn số 5.
Mở /table/12/: bạn sẽ thấy Table 12.
Tự làm thử
from django.urls import path
from . import views
urlpatterns = [
path("", views.home),
path("about/", views.about),
path("hours/", views.hours),
path("contact/", views.contact),
]
Tất cả bài học trong Kiến thức cơ bản về Django
1Trang Django đầu tiên của bạn
Xin chào, DjangoTrang thứ hai2URL động
Bộ chuyển đổi đường dẫnTrang riêng cho mỗi loại đồ uốngChuỗi truy vấnNâng ngoại lệ Http404Tự luyện tập: Playground Django