擅长:python、mysql、java
<p>对于两个表单来说,表单集是多余的。这实际上并不难,但记录不充分。你可以使两个表单都是同一个表单类型,只需提供一个前缀。在</p>
<pre><code>def parent_apply(request):
if request.method == 'POST':
parent_form = SignupForm(request.POST, prefix="parent")
student_form = StudentApplyForm(request.POST, prefix="student")
if parent_form.is_valid() and student_form.is_valid():
parent = parent_form.save()
student = student_form.save(parent)
else: messages.error(request, "Please correct the errors marked in red.")
else:
parent_form = SignupForm(prefix="parent")
student_form = StudentApplyForm(prefix="student")
return render_to_response('template_path/forms.html', { 'parent_form':parent_form, 'student_form':student_form }, context_instance=RequestContext(request))
</code></pre>
<p>这些表单只是普通的Django表单,不需要特殊设置。您可以更改它们验证的顺序,并保存其中一个,即使另一个未验证(如果您选择的话)。在</p>
<p>在HTML模板中,将两个表单包装在同一个标记中,它们将同时提交。如果希望窗体转到不同的视图函数,请指定两个不同的元素。在</p>