How to do math in a Django template?

Question:

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.

Asked By: Tommy

||

Answers:

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

Answered By: bdd

You can use the add filter:

{{ object.article.rating_score|add:"-100" }}
Answered By: Daniel Roseman

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 }}.

Answered By: Erik
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.