小编典典

如何在 python jinja 模板中输出 loop.counter?

all

我希望能够将当前循环迭代输出到我的模板。

根据文档loop.counter,我正在尝试使用一个变量:

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

但是正在输出到我的模板。什么是正确的语法?


阅读 68

收藏
2022-05-30

共1个答案

小编典典

循环内的计数器变量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/
2022-05-30