עמוד לכל משקה
חלק מהיחידה יסודות 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" ומשתמשת בו כמפתח. נתיב אחד ותצוגה אחת משרתים את המילון כולו: ערך חדש מקבל עמוד בלי צורך בקוד חדש.
אתגר
קלתנו לכל משקה ב־DRINKS עמוד בכתובת /drinks/ בתוספת המפתח שלו:
- נתיב אחד שתואם ל־
/drinks/latte/, ל־/drinks/flat-white/ולכל מפתח אחר; - תצוגה בשם
drinkשמציגה את שם המשקה בתוך<h1>, ולאחר מכן את התיאור שלו בתוך<p>.
לחצו על Run: התצוגה המקדימה נפתחת בכתובת /drinks/latte/.
נסו בעצמכם
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>")
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות Django
תרגלו בעצמכם: Django אונליין