0

我有一个需要在模板内更改的变量。

假设变量foo4,但我需要的值是foo + 1

然后我将在if声明中使用它,如下所示:

{% if bar == foo+1 %}
<p>Condition has been met!</p>
{% endif %}
4

3 回答 3

5

你可以做

{% if bar == foo|add:1 %}
<p>Condition has been met!</p>
{% endif %}

或者另一个是:

{%with newfoo=foo|add:1 %}
  {% if bar == newfoo %}
  <p>Condition has been met!</p>
  {% endif %}
{%endwith%}
于 2012-08-08T13:13:40.570 回答
4

如果您将逻辑保留在视图中而不是模板中,您的代码将更加透明和“djangoic”。因此,不要在模板中进行计算,而是foo+1将一个名为 的布尔变量传递给模板foo_equals_bar,或者传递给它变量bar然后foo_incremented比较它们。

看看它的可读性如何:

{% if foo_equals_bar %}
<p>Condition has been met!</p>
{% endif %}
于 2012-08-08T13:08:03.840 回答
0
{% with foo|add:"1" as foo1 %}
{% if foo1 ==  bar %}
<p>....</p>
{% endif %}
{% endwith %}
于 2012-08-08T13:09:12.630 回答