我有一个联系方式表格。表单工作正常,但是页面重新加载会重新提交以前输入的值。
view.py
...
if request.POST:
form = ContactForm(request.POST)
if form.is_valid():
entry = form.save()
form = ContactForm()
c.update(locals())
return render(request, 'template.html', c )
...
template.html
<form action="." method="post" id="contact-form">
...
</form>
我试图清除GET请求中的表格。表单字段已清除,但这不会阻止重新加载页面上的提交。
else: #request.GET
form = ContactForm()
c.update(locals())
return render(request, 'template.html', c )
我已经看到许多建议重定向的示例。我确实了解这种方法,但是在使用模式形式的情况下,我想避免重定向。
如何防止再次提交模态表格?重定向真的是唯一的方法吗?
答案 0 :(得分:0)
解决方案似乎非常简单:
替换了此行...
return render(request, 'template.html', c )
...和下面的一个:
return HttpResponseRedirect(request.path_info)