63 votes

Obtenir l'index de la boucle externe

Dans jinja, la variable loop.index contient le numéro d'itération de la boucle en cours d'exécution.

Lorsque j'ai des boucles imbriquées, comment puis-je obtenir dans la boucle interne l'itération actuelle d'une boucle externe ?

103voto

Lukáš Lalinský Points 22537

Stockez-le dans une variable, par exemple :

{% for i in a %}
    {% set outer_loop = loop %}
    {% for j in a %}
        {{ outer_loop.index }}
    {% endfor %}
{% endfor %}

-7voto

Kannan Ganesan Points 1

Vous pouvez utiliser loop.parent dans une boucle imbriquée pour obtenir le contexte de la boucle extérieure.

{% for i in a %}
    {% for j in i %}
        {{loop.parent.index}}
    {% endfor %}
{% endfor %}

Il s'agit d'une solution beaucoup plus propre que l'utilisation de variables temporaires. Source - http://jinja.pocoo.org/docs/templates/#for

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X