Я искал несколько отчетов о потоках и ошибках, но не смог найти решение.Не удается получить локализацию Django для работы
Я изменил локаль моего проекта 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 = '.'
ли Странно, что моя консоль 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
Любые идеи того, что я забыл попробовать?
Ну, Setlocale сделал работу, но это не изменило никакого поведения в Django. –