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

标签 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

有什么想法吗?

最佳答案

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

Default: '.' (Dot)

Default decimal separator used when formatting decimal numbers.

Note that if USE_L10N is set to True, 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/

相关文章:

python - 使用 pandas 链接数据转换方法的设计模式

python - Django 1.5 的多种用户类型、自定义字段和共享身份验证

python - 使用 Django syncdb 安装存储过程或函数

Django 添加tiny-mce

django - 关于 Django 模板标签的 Sphinx 文档

python - 从消息中提取用户名模式

python - 了解递归函数中内置于变量赋值中的多个递归调用

python 将一个json结构转换为嵌套结构

django - 如何为 Heroku 上托管的 Django 项目设置 Travis CI?

python - 我可以在 Django 的哪个位置运行需要模型的启动代码?