我在一个模板中有两种完全不同的形式.如何在一个视图中处理它们?如何区分提交的表格?我怎样才能使用前缀来实现呢?或者也许最好写单独的视图?
问候
CHRISS
问候
CHRISS
解决方法
就个人而言,我会使用一个视图来处理每个表单的POST.
另一方面,您可以使用隐藏的输入元素来指示使用哪种表单
<form action="/blog/" method="POST"> {{ blog_form.as_p }} <input type="hidden" name="form-type" value"blog-form" /> <!-- set type --> <input type="submit" value="Submit" /> </form> ... <form action="/blog/" method="POST"> {{ micro_form.as_p }} <input type="hidden" name="form-type" value"micro-form" /> <!-- set type --> <input type="submit" value="Submit" /> </form>
有这样的观点:
def blog(request): if request.method == 'POST': if request.POST['form-type'] == u"blog-form": # test the form type form = BlogForm(request.POST) ... else: form = MicroForm(request.POST) ... return render_to_response('blog.html',{ 'blog_form': BlogForm(),'micro_form': MicroForm(),})
…但是再一次,我认为每个表单的一个视图(即使视图只接受POST)比尝试执行上述操作简单.