获取外循环的循环索引


74

在jinja中,变量loop.index包含当前运行循环的迭代次数。

当我有嵌套循环时,如何在内部循环中获得外部循环的当前迭代?

Answers:


120

将其存储在变量中,例如:

{% for i in a %}
    {% set outer_loop = loop %}
    {% for j in a %}
        {{ outer_loop.index }}
    {% endfor %}
{% endfor %}

2
请注意,索引将从1开始,而不是
0。– scottydelta

2
另外值得注意loop.index0将让你获得指数从0(开始jinja.pocoo.org/docs/dev/templates/#for
斯科特阳

1
如果我们想将循环索引显示为表中的行号怎么办?这段代码没有考虑到这一点,直到循环结束为止,内部循环将显示为1。我们该如何处理?
senaps

-7

您可以在嵌套循环中使用loop.parent来获取外部循环的上下文

{% for i in a %}
    {% for j in i %}
        {{loop.parent.index}}
    {% endfor %}
{% endfor %}

与使用临时变量相比,这是一种更清洁的解决方案。来源-http://jinja.pocoo.org/docs/templates/#for



也许@KannanGanesan想到了树枝
山姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.