-2

如何在 django 中将金额转换为十万和千万。例如,如果金额是 100 000,我想显示 10 万。是否可以通过使用自定义模板标签来做到这一点?

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

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
4

1 回答 1

1

你可以在这里这里找到关于 Django 自定义模板过滤器的很好的解释。我只是给你一个简短的描述。首先,您需要在 django 应用程序中创建文件夹模板标签并添加__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 }}

但我也建议你看看人性化的工具。大概可以解决你的问题。

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

{% load humanize %}
{{ your_number|intword }}
于 2016-12-06T12:07:06.130 回答