web-dev-qa-db-ja.com

Djangoテンプレートで数学を行う方法は?

私はこれをしたい:

100 - {{ object.article.rating_score }} 

たとえば、20{{ object.article.rating_score }}に等しい場合、出力は80になります。

テンプレートレベルでこれを行うにはどうすればよいですか? Pythonコードにアクセスできません。

96
Tommy

add フィルターを使用できます:

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

Django-mathfilters を使用します。組み込みのaddフィルターに加えて、絶対値を減算、乗算、除算、および取得するフィルターを提供します。

上記の特定の例では、{{ 100|sub:object.article.rating_score }}を使用します。

29
Erik

通常、ビューでこの計算を行うことをお勧めします。それ以外の場合は、追加フィルターを使用できます。

18
bdd