Menu
CoddyTech

עמוד לכל משקה

חלק מהיחידה יסודות Django במסלול ה-Django של Coddy. שיעור 7 מתוך 23.

המשקאות של בית הקפה נמצאים כעת בתוך 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 אונליין