У меня L10N успешно создан в моем проекте, и я могу перевести даты в правильный формат. Но теперь мне нужен SHORT_DATE_FORMAT
для текущей локали на моих шаблонах или в контексте_процессора.Как получить текущую локализацию «short_date_format» на django?
Получение от django.conf.settings
всегда дает мне значение по умолчанию, m/d/Y
. В настоящий момент в качестве языкового стандарта установлено значение pt_BR
, поэтому формат должен быть d/m/Y
.
In [42]: settings.LANGUAGE_CODE
Out[42]: 'pt-br'
In [43]: settings.USE_L10N
Out[43]: True
In [44]: settings.SHORT_DATE_FORMAT
Out[44]: 'm/d/Y'
Любые подсказки?
Кстати, я действительно пытаюсь сделать так: получить формат текущего языка, чтобы я мог передать его в плагин bootstrap-datepicker. В настоящее время он использует m/d/Y
, а django дает дату в формате d/m/Y
.
Вы используете параметр LANGUAGE_CODE из модуля настроек, который делает его не динамическим (это код языка по умолчанию, используемый, когда Django не может определить его по-другому). В представлении вы можете использовать request.LANGUAGE_CODE. В противном случае django.utils.translation.get_language() – bambata