【发布时间】:2011-03-21 07:01:36
【问题描述】:
我已经搜索了几个线程和错误报告,但找不到解决方案。
我将 Django 项目的语言环境更改为 pt-br,但没有任何区别。我排除了所有输入字段和输出以本地化日期和数字,特别是 DECIMAL_SEPARATOR 和 THOUSAND_SEPARATOR,包括在管理 API 中。但是那里的日期继续显示为yyyy-mm-dd 和小数点分隔符“,”在输入时会产生错误。
我做了所有我发现的事情:更改设置、添加本地化中间件类、启用 USE_I18N 和 USE_L10N、尝试手动强制 setlocale 等等。这是我的 settings.py 的一瞥:
LANGUAGE_CODE = 'pt-br'
USE_I18N = True
USE_L10N = True
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.transaction.TransactionMiddleware',
)
DATE_FORMAT = 'd/m/Y'
SHORT_DATE_FORMAT = 'd/m/Y'
DATE_INPUT_FORMATS = ('%d/%m/%Y', '%d/%m/%y', '%Y-%m-%d')
DECIMAL_SEPARATOR = ','
THOUSAND_SEPARATOR = '.'
我在巴西葡萄牙语 Windows 上运行的 Python 控制台输出这个是不是很奇怪?
>>> locale.setlocale(locale.LC_ALL, ('pt_BR', 'cp1252'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python25\lib\locale.py", line 478, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
关于我忘记尝试的任何想法?
【问题讨论】: