Django Forms: TimeField Validation

Ich habe das Gefühl, hier fehlt mir etwas Offensichtliches. Ich habe eine Django-Form mit einem TimeField drauf. Ich möchte in der Lage sein, Zeiten wie "10:30 Uhr" zuzulassen, aber ich kann es nicht veranlassen, dieses Eingabeformat zu akzeptieren oder das "% P" -Format zu verwenden (das ein @ hnote angebracht sagt, es ist eine "proprietäre Erweiterung", sagt aber nicht, woher sie kommt). Hier ist der Kern meines Formularcodes:

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)

Jedes Mal, wenn ich "10:30 AM" einreiche, erhalte ich einen Überprüfungsfehler. Das zugrunde liegende Modell hat zwei Felder, event_start und event_end, keine Zeitfelder, daher glaube ich nicht, dass das Problem darin besteht. Was für eine Dummheit vermisse ich?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage