2016-12-06 95 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 }} 
相关问题