在jinja中,变量loop.index保存当前运行循环的迭代次数。
当我有嵌套循环时,如何在内循环中获取外循环的当前迭代?
将其存储在变量中,例如:
{% for i in a %}
{% set outer_loop = loop %}
{% for j in a %}
{{ outer_loop.index }}
{% endfor %}
{% endfor %}
我刚刚将outer_loop.index更改为index0,这将返回索引为0的迭代。所以第一项以 0 开头
{% for i in a %}
{% set outer_loop = loop %}
{% for j in a %}
{{ outer_loop.index0 }}
{% endfor %}
{% endfor %}
您可以在嵌套循环内使用loop.parent来获取外层循环的上下文
{% for i in a %}
{% for j in i %}
{{loop.parent.index}}
{% endfor %}
{% endfor %}
这是比使用临时变量干净得多的解决方案。 来源 - http://jinja.pocoo.org/docs/templates/#for