الحلقات في القوالب
جزء من قسم أساسيات 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
3القوالب
قالبك الأولمتغيرات القوالبتدرّب بنفسك: Playground لـ Django