Reputation: 273802
In jinja, the variable loop.index holds the iteration number of the current running loop.
When I have nested loops, how can I get in the inner loop the current iteration of an outer loop?
Upvotes: 104
Views: 56165
Reputation: 17
@senaps I just changed outer_loop.index to index0 this returns the iteration with a 0 index. So the first item starts with a 0
{% for i in a %}
{% set outer_loop = loop %}
{% for j in a %}
{{ outer_loop.index0 }}
{% endfor %}
{% endfor %}
Upvotes: 1
Reputation: 1
You can use loop.parent inside a nested loop to get the context of the outer loop
{% for i in a %}
{% for j in i %}
{{loop.parent.index}}
{% endfor %}
{% endfor %}
This is a much cleaner solution than using temporary variables. Source - http://jinja.pocoo.org/docs/templates/#for
Upvotes: -13
Reputation: 41306
Store it in a variable, for example:
{% for i in a %}
{% set outer_loop = loop %}
{% for j in a %}
{{ outer_loop.index }}
{% endfor %}
{% endfor %}
Upvotes: 180