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

Bok*_*oky 2 python django

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

\n\n
LANGUAGE_CODE = \'en\' \nUSE_I18N = True    \nUSE_L10N = True\nUSE_DECIMAL_SEPARATOR = True\nDECIMAL_SEPARATOR = ","\nUSE_THOUSAND_SEPARATOR = True\nTHOUSAND_SEPARATOR = "."\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
{% load humanize %}\n{% load i18n %}\n{% load l10n %}\n<div>{% trans "Price" %}: \xe2\x82\xac <b>{{ payment|floatformat:2|intcomma }}</b></div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

任何想法?

\n

Olu*_*ule 5

有关DECIMAL_SEPARATOR设置的文档中指出了以下内容:

\n\n
Default: \'.\' (Dot)\n\nDefault decimal separator used when formatting decimal numbers.\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

请注意,如果USE_L10N设置为True,则区域设置指定的格式具有更高的优先级,并将被应用。

\n
\n\n

由于USE_L10N已设置,因此在呈现数字时会首选为区域设置设置的数字格式。

\n\n

据我所知,当前所需的数字格式在英语语言环境中不可用。我发现该格式在德语语言环境中使用。

\n\n

模板language标签允许您在模板中切换语言

\n\n
{% load humanize %}\n{% load i18n %}\n{% load l10n %}\n<div>{% trans "Price" %}: \n{% language \'de\' %}\n\xe2\x82\xac <b>{{ payment|floatformat:2|intcomma }}</b>\n{% endlanguage %}\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n