Mi sento come se mi mancasse qualcosa di ovvio qui. Ho un modulo Django con un TimeField su di esso. Voglio essere in grado di consentire tempi come "10:30 AM", ma non riesco a farlo accettare il formato di input o ad usare il formato "% P" (che ha un note attached che dice che è un "estensione proprietaria", ma non lo fa t dire da dove viene). Ecco l'essenza del mio codice modulo:Forme Django: 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)
Ogni volta che mi presento "10:30", ottengo un errore di convalida. Il modello sottostante ha due campi, event_start e event_end, nessun campo orario, quindi non penso che il problema sia lì. Che cosa stupida mi sto perdendo?
Non sarà possibile utilizzare '% P' come questo, sono abbastanza certo che è solo per l'output e non può essere utilizzato per l'analisi (vale a dire come maschera di input). Cosa 'ValidationError' ottieni esattamente? –
Solo "Inserire un'ora valida". – Tom