0

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

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

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

当我执行上述操作时,我希望它显示<p>1</p>标签,而是返回一个“TemplateSyntaxError at” URL,无法解析余数:来自“-”的“-”。

4

2 回答 2

0

默认情况下,django 模板不允许数学运算,例如addition,subtraction等。

我建议在您的视图函数中进行数学运算并将其渲染到模板中,然后直接使用它示例:

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

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

{% if True and my_result > 5 %}
于 2021-05-04T15:48:18.900 回答
0
<div>
    {% if True and 10|add:'-1' > 5 %}
        <p>1</p>
    {% else %}
        <p>2</p>
    {% endif %}
</div>

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

于 2021-05-04T15:52:20.550 回答