Як перевірити наявність останньої ітерації циклу в шаблоні Django?


Відповіді:


228

Ви б використали forloop.last. Наприклад:

<ul>
{% for item in menu_items %}
    <li{% if forloop.last %} class='last'{% endif %}>{{ item }}</li>
{% endfor %}
</ul>

2
Якщо є вкладені петлі, чи перевірятиме вона внутрішній цикл?
Тагар

4
Це особливість нової версії Jinja? Отримання шаблону візуалізації: 'forloop' не визначено 'на {% якщо ні (forloop.last)%}, {% endif%}
Tagar

1
Якщо є вкладені петлі, використовуйте forloop.parentloopдля доступу до циклу, що оточує поточний. Тож для перевірки останньої ітерації батьківського циклу можна було б скористатися forloop.parentloop.last. Дивіться документацію . @Tagar
ndmeiri

Отже, коротше, forloop.lastперевіримо на останню ітерацію внутрішньої самої петлі.
ndmeiri

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.