class testView(View): def get(self, request, *args, **kwargs): #複数のフォームをコンテキストとして渡す context = { 'main_form' : Test1ModelForm(), 'detail_form' : Test2ModelForm(), } return TemplateResponse(request, 'test.html', context) def post(self, request, *args, **kwargs): form1 = Test1ModelForm(request.POST) form2 = Test2ModelForm(request.POST) #全てのフォームのvalidationが通ったらsave if form1.is_valid() and form2.is_valid(): form1.save() form2.save() return HttpResponseRedirect(reverse('test'))
template.html <form method="post"> {% csrf_token %} <table> {{ main_form.as_table }} </table> <br> <table> {{ detail_form.as_table }} </table> <input type="submit" value="登録"> </form>