Python Jinja テンプレートで loop.counter を出力するにはどうすればいいですか? 質問する

Python Jinja テンプレートで loop.counter を出力するにはどうすればいいですか? 質問する

現在のループ反復をテンプレートに出力できるようにしたいと考えています。

によるとドキュメントloop.counter、使用しようとしている変数があります:

<ul>
{% for user in userlist %}
  <li>
      {{ user }} {{loop.counter}}
  </li>
      {% if loop.counter == 1 %}
          This is the First user
      {% endif %}
{% endfor %}
</ul>

しかし、テンプレートに出力されています。正しい構文は何ですか?

ベストアンサー1

ループ内のカウンター変数はloop.indexJinja2 で呼び出されます。

>>> from jinja2 import Template

>>> s = "{% for element in elements %}{{loop.index}} {% endfor %}"
>>> Template(s).render(elements=["a", "b", "c", "d"])
1 2 3 4

に加えてloop.index

おすすめ記事