How to output loop.counter in python jinja template?

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)
  • Even more at http://jinja.pocoo.org/docs/templates/.

Leave a Comment