כתובות URL בעלות שם
חלק מהיחידה יסודות Django במסלול ה-Django של Coddy. שיעור 10 מתוך 23.
דף הבית אמור לקשר אל אודות. הקלדת "/about/" בכל קישור עובדת עד שהכתובת משתנה, ואז כל הקישורים נשברים. במקום זאת, תן לכל נתיב שם ובנה את הכתובת ממנו. הקובץ 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/: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").
לחצו על הפעלה ואז לחצו על ״עלינו״.
נסו בעצמכם
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 אונליין