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

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

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

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

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

最佳答案

循环内的计数器变量在 Jinja2 中称为 loop.index

>>> 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/ .

https://stackoverflow.com/questions/12145434/

相关文章:

java - 如何在 Ubuntu 上设置 JAVA_HOME 路径?

python - 在 Python 中,使用 argparse,只允许正整数

linux - 当我启动 apache 并继续杀死我的机器时,如何防止产生大量的 apache 进程

python - 是否有一个装饰器可以简单地缓存函数返回值?

linux - 为什么 find 命令的 -exec 选项需要反斜杠和分号?

python - Pandas 在每组中获得前 n 条记录

c - 分离与可连接 POSIX 线程

c - stdout 和 STDOUT_FILENO 的区别

python - Django FileField with upload_to 在运行时确定

python - 遍历python中的对象属性