J'ai l'impression qu'il me manque quelque chose d'évident ici. J'ai un formulaire Django avec un TimeField dessus. Je veux être en mesure de permettre des temps comme "10:30 AM", mais je ne peux pas l'obtenir pour accepter ce format d'entrée ou pour utiliser le format "% P" (qui a un note attached disant que c'est une "extension Proprietary", mais doesn ' Je dis d'où ça vient). Voici l'essentiel de ma forme de code:Django Forms: 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)
Chaque fois que je soumets « 10:30 », je reçois une erreur de validation. Le modèle sous-jacent a deux champs, event_start et event_end, aucun champ de temps, donc je ne pense pas que le problème soit là. Quelle chose stupide manque-t-il?
Vous ne pourrez pas utiliser '% P' comme ça, je suis assez certain que c'est juste pour la sortie, et ne peut pas être utilisé pour l'analyse (c'est-à-dire comme masque de saisie). Qu'est-ce que 'ValidationError' obtenez-vous exactement? –
Juste "Entrez une heure valide". – Tom