You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jinja中将loop.index设为变量以获取外层循环的索引

Jinja嵌套循环获取外层索引的解决方案

原写法的语法问题在于:{% %}属于Jinja的逻辑执行块,内部直接引用变量即可,无需嵌套{{ }}输出标记。

正确实现方式

方式一:将外层索引存入自定义变量

{% for data in data_list %}
    {% set data_index = loop.index %}
    {% for data_dict in data %}
        <!-- 内层直接调用data_index即可拿到外层循环的1起始索引 -->
        <p>外层索引:{{ data_index }}</p>
    {% endfor %}
{% endfor %}

方式二:通过loop.parent直接访问外层循环对象(更便捷,无需额外定义变量)

Jinja内置的loop对象天然支持父级循环引用,直接在内层通过loop.parent即可调用外层循环的所有属性:

{% for data in data_list %}
    {% for data_dict in data %}
        <p>外层1起始索引:{{ loop.parent.index }}</p>
        <p>外层0起始索引:{{ loop.parent.index0 }}</p>
        <p>内层当前1起始索引:{{ loop.index }}</p>
    {% endfor %}
{% endfor %}

如果是多层嵌套循环,还支持链式调用loop.parent,比如三层嵌套时访问最外层索引可以写为loop.parent.parent.index。

内容的提问来源于stack exchange,提问作者marlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:39:00