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

模板条件判断中能否执行算术运算?求解示例代码语法问题

Django模板中判断index+1是否在列表的可行方案

你完全不用怕add过滤器会永久修改index的取值——Django模板里的过滤器都是无副作用的,只会返回计算后的新值,根本不会改动原始变量的数值。

直接把无效的index+1语法换成index|add:1过滤器写法就行,修改后的代码如下:

{% if index in widget.row_starts %}
    <div class="row">
{% elif index|add:1 in widget.row_starts %}
    </div>
{% endif %}

这里的index|add:1只是临时算出index加1的结果,用来和widget.row_starts列表做包含判断,判断完成后index的原始值不会有任何变化,完全可以放心使用。

如果觉得重复写index|add:1不够清爽,也可以用with标签先把计算结果存为临时变量,代码可读性会更好:

{% with next_index=index|add:1 %}
    {% if index in widget.row_starts %}
        <div class="row">
    {% elif next_index in widget.row_starts %}
        </div>
    {% endif %}
{% endwith %}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:31:01