1. ホーム
  2. パイソン

[解決済み】pythonのjinjaテンプレートでloop.counterを出力する方法は?

2022-04-06 01:47:38

質問

現在のループの繰り返しをテンプレートに出力できるようにしたい。

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

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

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

解決方法を教えてください。

ループ内のカウンタ変数を loop.index を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

に加えて loop.index があります。

  • loop.index0 (で始まるインデックス 0 )
  • loop.revindex (逆インデックス; 末尾 1 )
  • loop.revindex0 (逆インデックス; 末尾 0 )
  • さらに詳しく http://jinja.pocoo.org/docs/templates/ .