I want to be able to output the current loop iteration to my template.
According to the docs, there is a loop.counter
variable that I am trying to use:
<ul>
{% for user in userlist %}
<li>
{{ user }} {{loop.counter}}
</li>
{% if loop.counter == 1 %}
This is the First user
{% endif %}
{% endfor %}
</ul>
But is being outputed to my template. What is the correct syntax?
The counter variable inside the loop is called loop.index
in Jinja2.
>>> from jinja2 import Template
>>> s = "{% for element in elements %}{{loop.index}} {% endfor %}"
>>> Template(s).render(elements=["a", "b", "c", "d"])
1 2 3 4
In addition to loop.index
, there is also
loop.index0
(index starting at 0
)loop.revindex
(reverse index; ending at 1
)loop.revindex0
(reverse index; ending at 0
)