django模板过滤器改变评估顺序

时间:2012-06-05 23:28:43

标签: python django django-templates django-template-filters

有没有办法改变django评估模板过滤器的顺序?

说我有

{{ 3|add:5|multiply:"10" }}

现在他增加3 + 5并将结果乘以10。

我正在寻找的是一种做法如下:

{{ 3|add:(5|multiply:"10") }}

正如您所看到的,我将5|multiply:"10"包裹在括号中以强调它应该在|add之前进行评估。这可能吗?

1 个答案:

答案 0 :(得分:3)

您有两种可能性:

您可以更改过滤器/值的顺序:

{{ 5|multiply:10|add:3 }}

或者您可以使用{% with %}

{% with temp=5|multiply:10 %}
    {{ 3|add:temp }}
{% endwith %}