לולאות בתבניות
חלק מהיחידה יסודות Django במסלול ה-Django של Coddy. שיעור 13 מתוך 23.
לדף של בית הקפה יש דף חדש, /drinks/. התצוגה שלו מעבירה כל משקה לתבנית בשם 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 אונליין