Python / Django - 如何更改模板中的变量?

时间:2012-08-08 13:01:45

标签: python django variables django-templates

我需要在模板中更改变量。

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

然后我会在if语句中使用它,如下所示:

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

3 个答案:

答案 0 :(得分: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%}

答案 1 :(得分:4)

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

看看它的可读性有多大:

{% if foo_equals_bar %}
<p>Condition has been met!</p>
{% endif %}

答案 2 :(得分:0)

{% with foo|add:"1" as foo1 %}
{% if foo1 ==  bar %}
<p>....</p>
{% endif %}
{% endwith %}