关于python:django模板过滤器更改评估顺序

django template filters change order of evaluation

有没有一种方法可以改变django评估模板过滤器的顺序?

说我有

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

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

我正在寻找的是一种执行以下操作的方法:

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

如您所见,我将5|multiply:"10"括在括号中以强调应在|add之前对其进行评估。这可能吗?


您有两种可能:

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

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

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

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