Burada bariz bir şey eksik gibi hissediyorum. Üzerinde bir TimeField ile bir Django formu var. "10:30" gibi zamanlara izin vermek istiyorum, ancak bu giriş formatını kabul etmem ya da "% P" biçimini kullanamıyorum (note attached "Tescilli bir uzantı" dır ancak Nereden geldiğini söyleme). İşte benim form kodunun ana fikiri:Django Formlar: TimeField Validation
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)
ben "10:30 AM" teslim Her zaman, ben bir doğrulama hatası alıyorum. Temel modelin iki alanı vardır: event_start ve event_end, zaman alanları yok, bu yüzden sorunun orada olduğunu düşünmüyorum. Hangi aptal şey eksik?
"% P" işlevini kullanamayacaksınız, yalnızca çıktı için oldukça eminim ve ayrıştırma için kullanılamıyor (ör. Giriş maskesi olarak). Tam olarak ne ValidationError 'alırsınız? –
Sadece "Geçerli bir zaman girin". – Tom