Comment puis-je vérifier la dernière itération de boucle dans le modèle Django?


100

J'ai une question basique, dans le langage de modèle de Django, comment pouvez-vous savoir si vous êtes à la dernière itération de boucle dans une forboucle?

Réponses:


228

Vous utiliseriez forloop.last. Par exemple:

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

2
S'il y a des boucles imbriquées, vérifiera-t-il la boucle la plus interne?
Tagar

4
Est-ce une fonctionnalité d'une version plus récente de Jinja? Obtention du "modèle de rendu: 'forloop' est indéfini" sur {% if not (forloop.last)%}, {% endif%}
Tagar

1
S'il y a des boucles imbriquées, utilisez forloop.parentlooppour accéder à la boucle entourant la boucle actuelle. Donc, pour vérifier la dernière itération d'une boucle parent, on pourrait utiliser forloop.parentloop.last. Consultez la documentation . @Tagar
ndmeiri

Donc, en bref, forloop.lastvérifiera la dernière itération de la boucle la plus interne.
ndmeiri

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.