2011-12-09 55 views

回答

46

沒有它。但如果你是一個小黑客....

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

來計算A * B:{%widthratio A 1 B%}

來計算A/B:{%widthratio AB 1%}

來計算A^2:{%widthratio A 1 A%}

來計算(A + B)^ 2:{%widthratio A |添加:乙1 A |添加:B% }

計算(A + B)*(C + d):{%widthratio A |添加:乙圖1C |添加:d%}

您也可以在2分鐘內

創建過濾器,以分割
+2

這是一個令人感興趣的應用widthratio標籤,但是,它肯定能留下的人抓他們的頭試圖找出它在做什麼,海事組織。 – Brandon

+0

謝謝。但是,這給出了'Caught TypeError而渲染:float()參數必須是一個字符串或數字'錯誤的一些數字 – Sam

+1

噓破鏈接 –

16

使用自定義過濾器:

register = template.Library() 

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

你應該管理的浮動數的情況下,它可能是有用的一段時間:-) –

+1

它可能被零除,所以我會建議: def def(價值, arg):return(int(value)/ int(arg))if int(arg)!= 0 else 0' – jobima

4

我會用一個自定義模板,但如果你不想,你可以使用內置的標籤widthratio,

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

另一E xample

{% widthratio value 1150000 100 %} 

語法:

{% widthratio parm1 parm2 parm3 %} 

所以基本上它用於縮放圖像,但你可以使用它的分裂。它所做的是:parm1/parm2 * parm3。

希望這會有所幫助,更多關於widthratio here

0

有一個Python模塊可以在您的模板中進行數學運算:Django-Mathfilters

它包含add如你所說,也div來劃分:

8/3 = {{ 8|div:3 }} 
相關問題