Загадка формата даты Django в многоязычном приложении - SHORT_DATE_FORMAT не используется с английским языком
Мы используем Django 4.2.11, и у меня есть небольшая загадка с форматом даты относительно локализации на разных языках в нашем проекте.
Мы используем jquery datepicker и настраиваем его с учетом текущего активного языка. Поведение полей дат одинаково на таких языках, как немецкий, итальянский и французский. Даты отображаются в соответствии с SHORT_DATE_FORMAT
Django, и возвращаемые даты datepicker показывают то же самое форматирование.
Только в английском языке все по-другому. В английском языке SHORT_DATE_FORMAT
определяется как m/d/Y
, но дата отображается в виде YYYY-MM-DD
. Это приводит к странному поведению, когда пользователю отображается дата, например, 2024-09-08, а при выборе даты из datepicker то же поле показывает значение 09/08/2024. Но при этом форма сохраняется без ошибок и дата обрабатывается корректно.
Поле даты определено как declarationDate = models.DateField()
в модели. Мы используем django-crispy-forms 2.1 с bootstrap 5.
Есть идеи, что здесь идет не так? Где я могу посмотреть? (Я ищу уже некоторое время...)