我在谷歌上搜索了很多解决方案,以解决与Django的L10N en-IN设置相关的问题,但没有找到令人满意的解决方案。所以,终于回来找朋友了。
我正在努力将货币格式化为印度数字格式标准。然后是NUMBER_GROUPING = (3, 2, 0)和LANGUAGE_CODE = 'en-IN'。
我当前的settings.py文件配置是:
LANGUAGE_CODE = 'en-IN'
USE_I18N = False
USE_L10N = True
USE_THOUSAND_SEPARATOR = True
NUMBER_GROUPING = (3, 2, 0)也尝试过设置:
USE_I18N = True在模板文件中,我使用:
{% load humanize %}
{# where object.price value is 524300 #}
<p>
{{ object.price }}
<!-- and -->
{{ object.price|intcomma }}
</p>然而,这一产出是:
524,300代替5,24,300

我做错了什么,它阻止Django跟踪
LANGUAGE_CODE、USE_L10N和NUMBER_GROUPING的设置
它适用于hi-IN
如果我更改
LANGUAGE_CODE = 'hi-IN',就会得到预期的格式化货币输出为5,24,300。但问题是,我们的网站不是印地语,语言,而是,印第安英语,,印地语,本地化。真乱:(
Django Docs甚至显示了语言en_IN的示例。这清楚地告诉它会像我预料的那样格式化数字。但这对我不起作用。
设置LANGUAGE_CODE = 'en_IN'抛出错误。不要接受下划线,而是连字符。
我的当前系统区域设置如下:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_IN.UTF-8
LC_TIME=en_IN.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_IN.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_IN.UTF-8
LC_NAME=en_IN.UTF-8
LC_ADDRESS=en_IN.UTF-8
LC_TELEPHONE=en_IN.UTF-8
LC_MEASUREMENT=en_IN.UTF-8
LC_IDENTIFICATION=en_IN.UTF-8
LC_ALL=任何想法或建议都会得到真正的感谢!
发布于 2020-06-13 19:36:20
我使用Django为L10N定制的格式文件解决了这个问题。
我深入研究文档,找到了这,解决了我的问题。
因此,我的新版本在这里解决了我的查询,即使不更改LANGUAGE_CODE。
我目前的mysite/settings.py是:
USE_I18N = False
USE_L10N = True
FORMAT_MODULE_PATH = [
'mysite.formats'
]而树状结构的格式是:
./mysite/formats/
|- __init__.py
|- en/
|- __init__.py
|- formats.py# formats.py
USE_THOUSAND_SEPARATOR = True
NUMBER_GROUPING = (3, 2, 0)而且起作用了!
发布于 2020-06-12 18:09:20
当“格式”由模板控制时,结果不仅取决于Django设置,还取决于系统和浏览器设置。
最好的方法是将它作为预先格式化的字符串发送到html模板:
pip install Babel
from babel.numbers import format_currency
format_currency(524300, 'INR', locale='en_IN')结果什么是Django以及系统和浏览器设置:
₹5,24,300.00发布于 2022-09-17 13:09:02
在你的settings.py里
USE_L10N = True # or False
FORMAT_MODULE_PATH = [
'my_project.formats'
]
USE_THOUSAND_SEPARATOR = True #this line must be present in settings创建formats.py,如
› my_project/
› formats/
› en/
__init__.py
formats.py
__init__.py在formats.py中,
NUMBER_GROUPING = (3, 2, 0)参考文献,https://docs.djangoproject.com/en/4.1/topics/i18n/formatting/
https://stackoverflow.com/questions/62160912
复制相似问题