如何在一个视图中处理两个表单?

前端之家收集整理的这篇文章主要介绍了如何在一个视图中处理两个表单?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个模板中有两种完全不同的形式.如何在一个视图中处理它们?如何区分提交的表格?我怎样才能使用前缀来实现呢?或者也许最好写单独的视图?
问候
CHRISS

解决方法

就个人而言,我会使用一个视图来处理每个表单的POST.

另一方面,您可以使用隐藏的输入元素来指示使用哪种表单

  1. <form action="/blog/" method="POST">
  2. {{ blog_form.as_p }}
  3. <input type="hidden" name="form-type" value"blog-form" /> <!-- set type -->
  4. <input type="submit" value="Submit" />
  5. </form>
  6.  
  7. ...
  8.  
  9. <form action="/blog/" method="POST">
  10. {{ micro_form.as_p }}
  11. <input type="hidden" name="form-type" value"micro-form" /> <!-- set type -->
  12. <input type="submit" value="Submit" />
  13. </form>

有这样的观点:

  1. def blog(request):
  2. if request.method == 'POST':
  3. if request.POST['form-type'] == u"blog-form": # test the form type
  4. form = BlogForm(request.POST)
  5. ...
  6. else:
  7. form = MicroForm(request.POST)
  8. ...
  9.  
  10. return render_to_response('blog.html',{
  11. 'blog_form': BlogForm(),'micro_form': MicroForm(),})

…但是再一次,我认为每个表单的一个视图(即使视图只接受POST)比尝试执行上述操作简单.

猜你在找的HTML相关文章