在我的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。
有什么想法吗?
最佳答案
documentation about DECIMAL_SEPARATOR 中注明了以下内容设置:
Default: '.' (Dot)
Default decimal separator used when formatting decimal numbers.
Note that if
USE_L10N
is set toTrue
, then the locale-dictated format has higher precedence and will be applied instead.
由于设置了 USE_L10N
,因此在呈现数字时会优先考虑为区域设置设置的数字格式。
据我所知,当前所需的数字格式在英语语言环境中不可用。我发现该格式在德语语言环境中使用。
语言
模板标签允许您switch language in templates .
{% load humanize %}
{% load i18n %}
{% load l10n %}
<div>{% trans "Price" %}:
{% language 'de' %}
€ <b>{{ payment|floatformat:2|intcomma }}</b>
{% endlanguage %}
</div>
关于python - 如何在 Django 中使用点作为千位分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53533853/