【发布时间】:2011-02-24 05:11:18
【问题描述】:
我觉得我在这里遗漏了一些明显的东西。我有一个带有TimeField 的 Django 表单。我希望能够允许像“上午 10:30”这样的时间,但我不能让它接受该输入格式或使用“%P”格式(它有一个 note attached 说它是一个“专有扩展”,但是没有说它来自哪里)。这是我的表单代码的要点:
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?
标签: django validation forms timefield