Menu
CoddyTech

الحلقات في القوالب

جزء من قسم أساسيات 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.

challenge icon

التحدي

سهل

في 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

تدرّب بنفسك: Playground لـ Django