2016-12-06 91 views
-1

如何轉換金額在十萬和千萬分之django。例如,如果金額是100000,我想顯示1拉赫。是否可以通過使用自定義模板標籤來完成此操作?轉換成十萬和千分之

我是初學者,所以這是我寫的代碼來完成這個。但如何在模板標籤中使用它?

if properties.expected_price >= 100000: 
    expected_price_in = expected_price/100000 
elif properties.expected_price >= 1000000: 
    expected_price_in = expected_price/1000000 
else: 
    expected_price_in = expected_price 
+0

可能是有益這個網址: http://stackoverflow.com/questions/4831306/need-to轉換爲字符串到int中的Django模板 – Afzal

+2

小記:您的代碼將永遠不會進入'elif' – Sayse

+0

我找不到任何有用的鏈接:( –

回答

1

你可以找到Django的自定義模板過濾器herehere的很好的解釋。 我只給你一個簡要的描述。 首先,您需要在您的django應用程序中創建文件夾模板標籤並添加__init__.py文件。

from django import template 

register = template.Library() 

@register.filter 
def num_format(value): 
    if value >= 1000000: 
     return value/1000000 
    elif value >= 100000: 
     return value/100000 
    else: 
     return value 

現在你可以使用它在模板中像這樣:

{% load custom_filters %} 
{{ your_number|num_format }} 

但我也建議你看看humanize utils的 在新的文件夾下面的內容創建例如custom_filters.py一些.py文件。顯然它可以解決你的問題。

剛剛加入到設置INSTALLED_APPS 'django.contrib.humanize',並嘗試這個模板:

{% load humanize %} 
{{ your_number|intword }} 
相關問題