Python 如何在Django的视图中在一个函数中处理多个表单
我必须在一个函数中处理两种形式: HTML页面Python 如何在Django的视图中在一个函数中处理多个表单,python,html,django,view,Python,Html,Django,View,我必须在一个函数中处理两种形式: HTML页面 我的查询是在一个函数中处理多个表单,但如果您希望保留两个单独的表单,则这将不符合我的要求: if request.method == "POST" and "selectgenderform" in request.POST: *something* if request.method == "POST" and "selectionform" in request.POST: *something* 您可能还必须将提交输入名称
我的查询是在一个函数中处理多个表单,但如果您希望保留两个单独的表单,则这将不符合我的要求:
if request.method == "POST" and "selectgenderform" in request.POST:
*something*
if request.method == "POST" and "selectionform" in request.POST:
*something*
您可能还必须将提交输入名称更改为“SelectGenPerform”和“selectionform”您可以传递多个表单,并使用单个函数进行处理。然而,诀窍是将表单保存在模板中的一个表单标记下。(请容忍我在手机上打字) views.py
def yourView(request):
form1 = form1()
form2 = form2()
if request.method == "post":
form1 = form1(request.POST)
form2 = form2(request.POST)
if form1.is_valid():
#do something
if form2.is_valid():
#do something else
contest = { "form1": form1, "form2": form2 }
return render(request, 'template.html', context=context)
template.html
<form method="POST">
{%csrf_token%}
{{form1.as_p}}
{{form2.as_p}}
<button type="submit"> Submit </button>
</form>
{%csrf_令牌%}
{{form1.as_p}}
{{form2.as_p}}
提交
谢谢您的回答,但首先我要用models.py?@Mahad_-Akbar制作表格的表格,这是不必要的。你也可以手动处理,但是这个使用表单的方法有点干净。请你手动解释一下,我尝试了很长时间,但没有效果
def yourView(request):
form1 = form1()
form2 = form2()
if request.method == "post":
form1 = form1(request.POST)
form2 = form2(request.POST)
if form1.is_valid():
#do something
if form2.is_valid():
#do something else
contest = { "form1": form1, "form2": form2 }
return render(request, 'template.html', context=context)
<form method="POST">
{%csrf_token%}
{{form1.as_p}}
{{form2.as_p}}
<button type="submit"> Submit </button>
</form>