我希望我的表单在多个视图中显示此行为:
1。)表格错误显示在用户提交表格的视图中。
2。)如果表格有效,请将用户返回到他们提交表格的视图。
我怎么能这样做?
答案 0 :(得分:0)
如果我理解你的问题,我很确定第一个行为是默认的。对于第二个,如果在保存和验证后没有重定向,它应该只重新渲染您提交的视图。放置成功变量可能很好,可以查看表单是否已保存。以下是在多个视图中使用单个表单的示例。
<强> models.py:强>
class MyModel(models.Model):
name = models.CharField()
<强> forms.py:强>
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
<强> views.py:强>
def first_view(request):
success = False
if request.method=="POST":
form = MyModelForm(request.POST)
if form.is_valid():
form.save()
success = True
else:
form = MyModelForm()
context = { 'form':form,
'success': success, }
return render_to_response('first_view_template.html', context,
context_instance=RequestContext(request))
def second_view(request):
success = False
if request.method=="POST":
form = MyModelForm(request.POST)
if form.is_valid():
form.save()
success = True
else:
form = MyModelForm()
context = { 'form':form,
'success': success, }
return render_to_response('second_view_template.html', context,
context_instance=RequestContext(request))
答案 1 :(得分:0)
您是否尝试过Django Form preview,如果我没有错,可以将它用于您的目的