如果存在表单验证错误,我有一个表单,我希望数据仍然存在于表单字段中。默认情况下,当我尝试以表格形式提交数据时,django会清除所有字段。使用django 1.6执行此操作的最佳方法是什么?
我以为我会像这样获取数据:request.POST ['field'],将其发送到模板然后让模板运行条件if语句,我从django获取错误告诉我值不是在multidict中找到但是当我填写表单字段时发现它似乎不起作用。我还试图检查该值是否直接出现在视图中,但我最终得到了一些可以做到这一点的if语句,这只是一个丑陋的黑客。
有人可以建议一个良好的解决方案吗?我似乎在SO上遇到了同样的问题,但人们只是写道它应该是保留数据的默认设置,但似乎不是django 1.6的情况。
答案 0 :(得分:-1)
我想象了你的表单类MyForm()
。如果表单无效,请将form = MyForm(request.POST)
发送给模板。
一些观点:
def myview(request):
if request.method=='POST':
form = MyForm(request.POST)
if form.is_valid():
form.save()
return render(request, 'success.html')
else:
form = MyForm()
return render(request, 'form.html',{'form':form})
<form action="." method="POST">
{{form}}
</form>