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?

Daniel Kivatinos
la source

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>
Paolo Bergantino
la source
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
12

{{forloop.last}}

fuentesjr
la source