【发布时间】:2019-03-08 19:07:18
【问题描述】:
在我的表单中,我有一个 ENDDATE AND TIME 输入字段,但是当我选择结束日期和时间并提交时,表单无效。这里我提到了我的 html,views.py models.py 和 form.py。我不知道为什么会这样,所以请帮我这样做。
HTML
<label>End Date & Time</label>
<div >
<input class="form-control" id="party" type = "datetime-local" name="end_date">
</div>
Views.py
def event(request):
if request.method == 'POST':
form = EventForm(request.POST, request.FILES)
if form.is_valid():
form.save()
messages.success(request, "Insertion Success!")
return redirect('/event')
else:
messages.success(request,"You missed to fill some fields!")
return HttpResponse(form)
form.py
class EventForm(forms.ModelForm):
class Meta:
model = Events
fields = ['end_date']
widgets = {
'end_date': DateTimeInput(attrs={'type': 'datetime-local'}),
}
models.py
class Events(models.Model):
end_date =models.DateTimeField(auto_now=False,blank=True)
【问题讨论】:
-
如果你在你的模板中输出
{{ form.errors }},那么Django会告诉你为什么它是无效的。 -
我猜
DateTimeInput正在返回一个字符串,而DateTimeField正在等待list -
@DanielRoseman @Vineeth Sai 如果我尝试保存表单无效
return HttpResponse(form)它以这种格式返回2018-10-05T01:01但预期的输出类似于2018-10-05T11:11:00Z所以我已经删除了form.py 中的小部件请帮我做这件事,谢谢。 -
真是一个令人愤怒的问题。
标签: python django django-models django-forms django-templates