Django 템플릿에서 수학을 수행하는 방법은 무엇입니까?


103

나는 이것을하고 싶다 :

100 - {{ object.article.rating_score }} 

예를 들어 출력은 20if {{ object.article.rating_score }}equaled 80입니다.

템플릿 수준에서 어떻게 수행합니까? Python 코드에 대한 액세스 권한이 없습니다.

답변:


154

add필터 를 사용할 수 있습니다 .

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

36
곱셈과 나눗셈의 경우 내장 widthratio템플릿 태그를 오용 할 수 있습니다 . a * b를 계산하려면을 사용하고 {% widthratio a 1 b %}a / b를 사용하려면 {% widthratio a b 1 %}. 단점은 결과가 반환되기 전에 정수로 반올림된다는 것입니다. 곱셈과 나눗셈에 Django의 widthratio 템플릿 태그 사용
elim

2
@Erik 자체 답변이어야합니다-훨씬 더 나은 솔루션.
nhinkle 2014 년

1
업데이트 링크하는 추가 워드 프로세서
rnevius

내가 이런 식으로 사용하는 경우 : {{object.article.rating_score | 추가 : "{% widthratio object.article.rating_score 100 5 %}"}}
Mushahid 칸

{| 추가 {object.article.rating_score : "{% widthratio object.article.rating_score 100 5 %}"}} @Daniel Roseman 나는이 같은 비율을 적용한 후 추가 할 수 있습니다
Mushahid 칸

31

django-mathfilters를 사용하십시오 . 내장 된 더하기 필터 외에도 빼기, 곱하기, 나누기 및 절대 값 가져 오기 필터를 제공합니다.

위의 특정 예에서는 {{ 100|sub:object.article.rating_score }}.


19

일반적으로보기에서이 계산을 수행하는 것이 좋습니다. 그렇지 않으면 추가 필터를 사용할 수 있습니다.


템플릿의 루프 내부에서 어떻게합니까?
bismigalis 2013
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.