دوره‌ها / Django / حلقه‌ها (Django For Loop)

حلقه‌ها (Django For Loop)

20 دقیقه Article

حلقه‌ها: نمایش لیست‌ها 🔄

با استفاده از تگ {% for %} می‌تونید روی لیست‌ها، دیکشنری‌ها و QuerySet ها حلقه بزنید و محتوا رو تکرار کنید.

ساختار حلقه

{% for post in posts %}
    

{{ post.title }}

{{ post.content }}

{% empty %}

هیچ پستی وجود ندارد.

{% endfor %} {% for key, value in dict.items %}

{{ key }}: {{ value }}

{% endfor %}

متغیرهای مفید در حلقه:

  • forloop.counter: شماره فعلی (از 1 شروع میشه)
  • forloop.counter0: شماره فعلی (از 0 شروع میشه)
  • forloop.first: آیا اولین آیتم است؟
  • forloop.last: آیا آخرین آیتم است؟
  • forloop.parentloop: حلقه والد (برای حلقه‌های تو در تو)

مثال‌های پیشرفته


{% for post in posts %}
    

{{ forloop.counter }}. {{ post.title }}

{% endfor %} {% for category in categories %}

{{ category.name }}

{% for post in category.post_set.all %}

{{ post.title }}

{% endfor %} {% endfor %}
نکته عملکرد: برای لیست‌های بزرگ، از pagination استفاده کنید. حلقه زدن روی هزاران آیتم باعث کند شدن صفحه میشه!

🎯 تمرین عملی:

یک تمپلیت بسازید که لیست پست‌ها رو با شماره نمایش بده. برای پست اول و آخر استایل خاصی بذارید و اگر لیست خالی بود، پیام مناسبی نمایش بدید.

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید