如何在django模板中定义和增加变量的值?

gjmwrych  于 2023-10-21  发布在  Go
关注(0)|答案(1)|浏览(133)

我想在Django模板中定义一个变量,然后将其值递增1。

{% with variable=0 %}
            {% if some_condition == True %}
                {{ variable++ }}
            {% endif %}
{% endwith %}

为了定义变量,我已经发现我可以使用with。我如何才能增加它的价值?

qpgpyjmq

qpgpyjmq1#

请不要。业务逻辑不属于模板。Django的模板语言被刻意限制,使得这样的事情也许不是不可能,但至少非常不方便。
因此,模板语言的目的是使更新变量变得非常困难,因为改变值的变量是不可预测的,因此容易出错。
这属于视图:视图应该进行正确的查询,并以可访问的方式将数据传递给模板。
最后,Django的模板语言很慢,它意味着大量的函数调用和上下文解析,所以在模板中这样做也会有效地减慢这个过程。
我如何才能增加它的价值?
这并不容易,例如可以制作一个自定义模板标签来做到这一点,但这将是一个非常糟糕的主意。模板语言没有简单的模板标记来做这件事的原因是,这将是糟糕的代码设计。

相关问题