Использование django - bootstrap -datepicker-plus было очень легко настроить. Но использовать TimePickerInput было сложно. По умолчанию используется 24-часовое время. Поэтому я смог изменить его на американское время / вечернее время, выполнив следующее:
widget = TimePickerInput(format='%I:%M %p')
, что создало этот странно выглядящий, но функциональный таймер:
Моя проблема при проверке формы. 03:39 am
не является действительным временем. Если я удаляю am / pm из формата TimePickerInput (поэтому даты отображаются как 03:39
), он успешно проходит проверку. Но мне, очевидно, нужно сохранить am / pm - что препятствует сохранению.
<ul class="errorlist"><li>disposal_time<ul class="errorlist"><li>Enter a valid time.</li></ul></li></ul>
Я изменил метод clean в форме
def clean(self):
cleaned_data = super(TempForm, self).clean()
form_disposal_time = self.data.__getitem__('disposal_time')
form_disposal_time = datetime.strptime(form_disposal_time, '%I:%M %p').time()
cleaned_data['disposal_time'] = form_disposal_time
return cleaned_data
Это создает то, во что я верю быть действительным Python время 03:39:00
. Но форма все равно отклонила его как недействительное время. И добавление проверки к модели слишком далеко в процессе. Я не уверен, что мой метод clean () не работает или мне нужно перехватить проверку формы где-то еще. Так что, кроме переезда в Европу и принятия 24-часовых часов, есть ли способ исправить это?