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

如何在Jinja循环中轮流复用category_masks列表元素渲染pansion?

解决Jinja循环复用列表元素的问题

直接用Jinja内置的loop变量就能搞定,别折腾手动自增变量了——Jinja里的变量是块级作用域,手动自增根本不生效。

核心思路是拿当前循环的索引对category_masks的长度取模,实现列表元素的循环复用:

{% for pansion in pansions %}
    <!-- 你的卡片渲染代码 -->
    <div class="card-category">
        {{ category_masks[loop.index0 % category_masks|length] }}
    </div>
{% endfor %}

逻辑说明:

  • loop.index0是当前循环的索引,从0开始计数(如果习惯用从1开始的loop.index,就改成(loop.index - 1)再取模)
  • category_masks|length是你这个列表的元素总数
  • 取模运算%会让索引始终在0到列表长度-1的范围内循环,用完所有元素后自动从头开始

举个例子:如果category_masks是["mask1", "mask2", "mask3"],第1个pansion用mask1,第2个用mask2,第3个用mask3,第4个又回到mask1,刚好实现轮流复用的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:32:33