Пользовательский формат даты django не работает с полями формы
Я работаю над проектом Django, в котором я хотел добавить формат даты для локального использования. Согласно документации, я обновил настройки для использования локального формата даты и времени: Link
Настройки приведены ниже:
DATE_INPUT_FORMATS = [
"%Y-%m-%d",
"%m/%d/%Y",
"%m/%d/%y",
"%b %d %Y",
"%b %d, %Y",
"%d %b %Y",
"%d %b, %Y",
"%B %d %Y",
"%B %d, %Y",
"%d %B %Y",
"%d %B, %Y",
'%d-%m-%Y',
'%d/%m/%Y'
]
DATETIME_INPUT_FORMATS = [
"%Y-%m-%d %H:%M:%S",
"%Y-%m-%d %H:%M:%S.%f",
"%Y-%m-%d %H:%M",
"%m/%d/%Y %H:%M:%S",
"%m/%d/%Y %H:%M:%S.%f",
"%m/%d/%Y %H:%M",
"%m/%d/%y %H:%M:%S",
"%m/%d/%y %H:%M:%S.%f",
"%m/%d/%y %H:%M",
'%d-%m-%Y %H:%M:%S',
'%d/%m/%Y %H:%M:%S'
]
Но для полей формы он все еще использует форматы времени и даты по умолчанию, а не принимает форматы времени и даты, добавленные в файл настроек.
В моей форме вылетает ошибка валидации "Введите действительную дату/время"
class CDetailsForm(forms.ModelForm):
class Meta:
model = CDetails
fields = ('c_date',)
widgets = {
'c_date': forms.DateTimeInput(
attrs={'class': 'datetimepicker-input datetime_stamp form-control', 'readonly': 'readonly'}),
}
def is_valid(self):
import pdb
pdb.set_trace()
result = super(CDetailsForm, self).is_valid()
return result
В коде виджета DateTimeInput говорится, что он ссылается на настройки DATETIME_INPUT_FORMATS
class DateTimeInput(DateTimeBaseInput):
format_key = 'DATETIME_INPUT_FORMATS'
template_name = 'django/forms/widgets/datetime.html'
Но при проверке полей формы настройки полностью игнорируются
> <project>/env/lib/python3.9/site-packages/django/forms/fields.py(384)to_python()
-> for format in self.input_formats:
(Pdb) self.input_formats
['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
(Pdb) self
<django.forms.fields.DateTimeField object at 0x128049c10>
(Pdb) value
'19-03-2024 17:25:17'
(Pdb)
Жду предложений или отзывов.