2011-12-09 5 views

답변

46

그렇지 않습니다. {A 1 B % widthratio %}

는 A/B를 계산하기 : {% AB widthratio 조금 해커 그러나 만약 ....

http://slacy.com/blog/2010/07/using-djangos-widthratio-template-tag-for-multiplication-division/

는 A *의 B를 계산하기 추가 | widthratio {% : B 1 A | 추가 B의 %를

을 계산할 {% 1 widthratio %} (A + B)^2 : 1 %}

는^2를 계산 }

을 계산하기 * (C + D) (+ B A) : {A widthratio % | 추가 | : D %의 추가 B 1 C}를

은 또한 2 분

으로 분할하는 필터를 생성 할 사용자 정의 필터 사용
+2

, 이모. – Brandon

+0

감사합니다. 그러나 이것은 렌더링 중에'Caught TypeError : float() 인수는 문자열 또는 숫자 여야합니다 '라는 오류가 있습니다. – Sam

+1

부울 링크 –

16

: 당신이 태그에 내장 된 widthratio을 사용할 수 있습니다에 당신이 원하지 않는 경우

register = template.Library() 

@register.filter 
def divide(value, arg): 
    try: 
     return int(value)/int(arg) 
    except (ValueError, ZeroDivisionError): 
     return None 
+0

으로 요약되어 있습니다. 부동 소수점의 사례를 관리해야합니다 .--) –

+1

0으로 나누기가 가능하므로 제안 할 것이 있습니다 : 'def divide (value, arg) : int (arg)! = 0이면 return (int (value)/int (arg)) else 0' – jobima

4

나는 사용자 정의 템플릿을 사용하지만 것을

{% widthratio request.session.get_expiry_age 3600 1 %} 

또 다른 전자 xample

{% widthratio value 1150000 100 %} 

구문 : 그러니까 기본적으로 자사의 이미지 스케일링에 사용

{% widthratio parm1 parm2 parm3 %} 

, 그러나 당신이 부문에 사용할 수 있습니다. 그것이하는 일은 parm1/parm2 * parm3입니다.

호프가 도움이 되었기를 바랍니다. 너비는 here입니다.

0

템플릿에 수학 연산을 수행하는 파이썬 모듈이 있습니다 : Django-Mathfilters.

당신이 말한대로 add을 포함,뿐만 아니라 div이 분할 :

widthratio 태그의 흥미를 사용하지만, 그것은 확실히 누군가가 무엇을하고 있는지 알아 내려고 머리를 긁적 떠날 수
8/3 = {{ 8|div:3 }}