在我的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 。
有什么主意吗?
答案 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>