获取外循环的循环索引

问题描述 投票:0回答:3

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

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

jinja2 template-engine
3个回答
169
投票

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

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

0
投票

我刚刚将outer_loop.index更改为index0,这将返回索引为0的迭代。所以第一项以 0 开头

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

-13
投票

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

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

这是比使用临时变量干净得多的解决方案。 来源 - http://jinja.pocoo.org/docs/templates/#for

© www.soinside.com 2019 - 2024. All rights reserved.