如何在Django模板中进行数学运算?

问题:如何在Django模板中进行数学运算?

我想做这个:

100 - {{ object.article.rating_score }} 

因此,例如,输出将是20,如果{{ object.article.rating_score }}追平80

如何在模板级别执行此操作?我无权访问Python代码。

I want to do this:

100 - {{ object.article.rating_score }} 

So for example, the output would be 20 if {{ object.article.rating_score }} equaled 80.

How do I do this at the template level? I don’t have access to the Python code.


回答 0

您可以使用add过滤器:

{{ object.article.rating_score|add:"-100" }}

You can use the add filter:

{{ object.article.rating_score|add:"-100" }}

回答 1

使用django-mathfilters。除了内置的添加过滤器外,它还提供了过滤器以减去,相乘,除以和取绝对值。

对于上面的特定示例,您可以使用{{ 100|sub:object.article.rating_score }}

Use django-mathfilters. In addition to the built-in add filter, it provides filters to subtract, multiply, divide, and take the absolute value.

For the specific example above, you would use {{ 100|sub:object.article.rating_score }}.


回答 2

通常,建议您在视图中进行此计算。否则,您可以使用添加过滤器。

Generally it is recommended you do this calculation in your view. Otherwise, you could use the add filter.