我有一个看法:
我想要的是,每当我提交表单(
if request.POST
)时,无论表单是否有效,输入的值都不会消失。
输入
event_form.description, event_form.event_type, event_form.dfkl_id
在单击提交后保留其值,但由于某种原因,日期时间选择器的值消失了。
如何让datetimepickers中的输入值在提交表单时不消失?
您需要返回与验证过的相同的表单,才能返回相同的输入内容和表单错误。定义上下文数据后,还要重新定位您的
POST
请求 (在 data
之后) 像这样:
if request.POST:
event_form = EventForm(request.POST, instance=event)
if event_form.is_valid():
[... validate logic ...]
return HttpResponseRedirect('/events')
data.update({'event_form':event_form})
return render(request, template_name, data)
现在如果
event_form
不验证,那么它有一条要返回的路线。
如果您想在表单提交后保留输入值,请按照此步骤操作
这对我的情况有效。