将金额转换为十万卢比和千万卢比

时间:2016-12-06 10:55:01

标签: django django-models templatetags

如何在django中将金额转换为lakh and crore。例如,如果金额是100 000我想要显示1 Lakh。是否可以通过使用自定义模板标记来完成此操作?

我是初学者,所以这是我为完成这项工作而编写的代码。但是如何在模板标签中使用它?

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

1 个答案:

答案 0 :(得分:1)

您可以找到有关Django自定义模板过滤器herehere的详细说明。 我只想简单介绍一下。 首先,您需要在django应用程序中创建文件夹templatetags并添加__init__.py文件。 在新文件夹中创建一些.py文件,例如custom_filters.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。它可以解决你的问题。

只需添加到设置INSTALLED_APPS'django.contrib.humanize'并在模板中尝试此操作:

{% load humanize %}
{{ your_number|intword }}