לולאות בתבניות
חלק מהיחידה יסודות Django במסלול ה-Django של Coddy. שיעור 13 מתוך 23.
לבית הקפה יש דף חדש, /drinks/. ה־view שלו מעביר לתבנית כל משקה בשם drinks, אבל הרשימה בדף ריקה. התג {% for %} חוזר על HTML פעם אחת לכל פריט. דף שמציג שולחנות פנויים:
<ul>
{% for table in free_tables %}
<li>Table {{ table }} is free.</li>
{% empty %}
<li>Every table is taken.</li>
{% endfor %}
</ul>הוא פועל כמו for של Python, כאשר table מקבל בכל פעם את הערך של פריט אחר. לתבניות אין כללי הזחה, ולכן {% endfor %} סוגר את הלולאה. החלק האופציונלי {% empty %} מוצג רק כשהרשימה ריקה.
הלולאה רואה רק שמות שנמצאים בהקשר, כמו drinks, ולא את המשתנים של views.py.
אתגר
קלב־drinks.html, בצעו לולאה על drinks בתוך <ul>. לכל משקה הוסיפו <li class="drink"> אחד עם השם שלו. כשאין משקאות, הציגו במקום זאת את <li>No drinks today.</li>.
לחצו על הפעלה: /drinks/ מציג רשימה של ארבעה משקאות.
נסו בעצמכם
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Our Drinks</title>
</head>
<body>
<h1>Our Drinks</h1>
<ul>
<!-- one <li class="drink"> per drink -->
</ul>
</body>
</html>
כל השיעורים ביחידה יסודות Django
תרגלו בעצמכם: Django אונליין