无法解析模板中Django If/else语句中的剩余部分



我有几个if/else语句,无论页面上存在什么页面或其他内容,它们似乎都返回相同的解析错误。

出于所有的意图和目的,它都变笨了。我的实际逻辑是有道理的,别担心,我只想知道是什么语法导致了这个问题:

<div>
{% if True and 10 - 1 > 5 %}
<p>1</p>
{% else %}
<p>2</p>
{% endif %}
</div>

当我执行上述操作时,我希望它显示<p>1</p>标记,但却返回一个"0";TemplateSyntaxError在";URL,无法从"-"中分析余数:"-"。

默认情况下,django模板不允许additionsubtraction等数学运算。

我建议让视图中的数学运算成为函数,并将其呈现到模板中,然后直接使用示例:

def my_view(request):
result = 10 - 1
render(request, template, context={'my_result': result})

然后在模板中,你会做一些类似的事情

{% if True and my_result > 5 %}
<div>
{% if True and 10|add:'-1' > 5 %}
<p>1</p>
{% else %}
<p>2</p>
{% endif %}
</div>

代码10|add:'-1'表示10+(-1(

最新更新