Я хочу сделать это:
100 - {{ object.article.rating_score }}
Так, например, результат будет , 20
если {{ object.article.rating_score }}
равен 80
.
Как это сделать на уровне шаблона? У меня нет доступа к коду Python.
Ответы:
Вы можете использовать add
фильтр:
{{ object.article.rating_score|add:"-100" }}
Используйте django-mathfilters . Помимо встроенного фильтра сложения, он предоставляет фильтры для вычитания, умножения, деления и получения абсолютного значения.
Для конкретного примера выше вы должны использовать {{ 100|sub:object.article.rating_score }}
.
Обычно рекомендуется выполнять этот расчет в вашем представлении. В противном случае вы можете использовать фильтр добавления.
widthratio
тег шаблона. Для вычисления a * b используйте{% widthratio a 1 b %}
, для a / b используйте{% widthratio a b 1 %}
. Единственный недостаток, результаты округляются до целого числа перед возвратом. Использование тега шаблона Django widthratio для умножения и деления