Я искал несколько тем и отчетов об ошибках, но не смог найти решение.
Я изменил локаль моего проекта Django на pt-br
, но это не имело значения. Я исключил все поля ввода и вывода для локализации дат и чисел, особенно DECIMAL_SEPARATOR
и THOUSAND_SEPARATOR
, в том числе в API администратора. Но даты там продолжают отображаться как yyyy-mm-dd
и десятичный разделитель "," выдает ошибку при вводе.
Я сделал все, что нашел: изменил настройки, добавил классы промежуточного программного обеспечения для локализации, включил USE_I18N и USE_L10N, попытался принудительно установить setlocale вручную и т. Д. Вот пример моих настроек.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 = '.'
Странно, что моя консоль Python, работающая на бразильской португальской Windows, выводит это?
>>> 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
Есть идеи, что я забыл попробовать?