如何在Django中将点用作千位分隔符

时间:2018-11-29 07:28:59

标签: python django

在我的settings.py中,我有以下代码:

LANGUAGE_CODE = 'en' 
USE_I18N = True    
USE_L10N = True
USE_DECIMAL_SEPARATOR = True
DECIMAL_SEPARATOR = ","
USE_THOUSAND_SEPARATOR = True
THOUSAND_SEPARATOR = "."

在我的模板中,我使用以下数字:

{% load humanize %}
{% load i18n %}
{% load l10n %}
<div>{% trans "Price" %}: € <b>{{ payment|floatformat:2|intcomma }}</b></div>

但是这个数字仍然是 18,300.00 ,我希望它是 18.300,00

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

documentation about DECIMAL_SEPARATOR设置中注意以下内容:

Default: '.' (Dot)

Default decimal separator used when formatting decimal numbers.
  

请注意,如果将USE_L10N设置为True,则语言环境指定的格式将具有   较高的优先级,将改为应用。

由于设置了USE_L10N,因此在呈现数字时,首选使用为语言环境设置的数字格式。

据我所知,当前英语所需的数字格式在英语语言环境中不可用。我发现该格式用于Deutsch语言区域设置。

language模板标记可让您switch language in templates

{% load humanize %}
{% load i18n %}
{% load l10n %}
<div>{% trans "Price" %}: 
{% language 'de' %}
€ <b>{{ payment|floatformat:2|intcomma }}</b>
{% endlanguage %}
</div>