加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

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

发布时间:2020-12-14 21:18:51 所属栏目:资源 来源:网络整理
导读:我在一个模板中有两种完全不同的形式.如何在一个视图中处理它们?如何区分提交的表格?我怎样才能使用前缀来实现呢?或者也许最好写单独的视图? 问候 CHRISS 解决方法 就个人而言,我会使用一个视图来处理每个表单的POST. 另一方面,您可以使用隐藏的输入元素
我在一个模板中有两种完全不同的形式.如何在一个视图中处理它们?如何区分提交的表格?我怎样才能使用前缀来实现呢?或者也许最好写单独的视图?
问候
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)比尝试执行上述操作简单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读