私はこれをしたい:{{object.article.rating_scoreは}} "80" 等しかった場合Djangoテンプレートで数学を行うには?
100 - {{object.article.rating_score}}
ので、例えば、出力が "20" であろう。どのようにテンプレートレベルでこれを行うには?私はPythonコードにアクセスできません。
私はこれをしたい:{{object.article.rating_scoreは}} "80" 等しかった場合Djangoテンプレートで数学を行うには?
100 - {{object.article.rating_score}}
ので、例えば、出力が "20" であろう。どのようにテンプレートレベルでこれを行うには?私はPythonコードにアクセスできません。
あなたがadd
フィルタを使用することができます。ビルトインのアドフィルタに加えて、絶対値を減算、乗算、除算、および取るフィルタを提供します。
上記の具体例では、{{ 100|sub:object.article.rating_score }}
を使用します。
通常、この計算はビューで行うことをお勧めします。それ以外の場合は、追加フィルタを使用できます。
{{ object.article.rating_score|add:"-100" }}
ただし、間違っていますが、ほとんどの場合、テンプレートロジックからビューロジックを分離することをお勧めします。 [Djangoの設計哲学](https://docs.djangoproject.com/en/dev/misc/design-philosophies/?from=olddocs#separate-logic-from-presentation) –
テンプレートの中でどのようにループ処理を行うのですか? – bismigalis
乗算と除算のために、組み込みの 'widthratio'テンプレートタグを悪用することができます。 a * bを計算するには '{%widthratio a 1 b%}'を使用し、a/bには '{%widthratio a b 1%}'を使用します。欠点のみ、返される前に整数に丸められます。 [Djangoのwidthratioテンプレートタグを使って乗算と除算を行う](http://slacy.com/blog/2010/07/using-djangos-widthratio-template-tag-for-multiplication-division/) – michaell
django-mathfiltersを使用します。 http://pypi.python.org/pypi/django-mathfilters – Erik
@Erikこれは独自の答えでなければなりません。 – nhinkle