我覺得我錯過了一些很明顯的東西。我有一個Django表單,其上有一個TimeField。我希望能夠允許像「10:30 AM」這樣的時間,但我無法接受輸入格式或使用「%P」格式(其中note attached稱其爲「專有擴展名」,但不支持'不知道它來自哪裏)。這是我的表單代碼的要點:Django表單:時間字段驗證
calendar_widget = forms.widgets.DateInput(attrs={'class': 'date-pick'}, format='%m/%d/%Y')
time_widget = forms.widgets.TimeInput(attrs={'class': 'time-pick'})
valid_time_formats = ['%P', '%H:%M%A', '%H:%M %A', '%H:%M%a', '%H:%M %a']
class EventForm(forms.ModelForm):
start_date = forms.DateField(widget=calendar_widget)
start_time = forms.TimeField(required=False, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)
end_date = forms.DateField(required=False, widget=calendar_widget)
end_time = forms.TimeField(required=False, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)
description = forms.CharField(widget=forms.Textarea)
任何時候我提交「上午10:30」,我收到驗證錯誤。底層模型有兩個字段,event_start和event_end,沒有時間字段,所以我不認爲問題在那裏。我錯過了什麼愚蠢的東西?
您將無法像這樣使用'%P',我相當肯定這只是輸出,並且不能用於解析(即作爲輸入掩碼)。你真的得到了什麼'ValidationError'? – 2010-05-26 15:06:27
只需「輸入有效時間」即可。 – Tom 2010-05-26 15:13:59