Menu
CoddyTech

כתובות 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/", וכל כתובת שנבנית מהשם תתעדכן בהתאם.

challenge icon

אתגר

קל
  • ב־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),
]
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות Django

תרגלו בעצמכם: Django אונליין