Djangoで1つのURLに複数のFORMを入れたい
ここに質問の内容を詳しく書いてください。
お世話になります。
Django、python初心者です。
1つのURLに3つのformを入れたいのですが3つ目のformを適応するのに苦戦しています。
3つのタブを設定し、それぞれにAmodel,Bmodel,Cmodelのformとそれぞれの送信ボタンを設定する予定です。
以下のコードを試しましたがwebサイト上でcmodelが上手く表示できていません
良い解決方法がありますでしょうか。
発生している問題・エラーメッセージ
##web上でのエラー cmodel object (None)
python
1##views.py 2class PatientDetail(CreateView): 3 form_class = Amodel 4 form_class2 = Bmodel 5 form_class3 = Cmodel 6 template_name = 'detail.html' 7 8 def get_context_data(self, **kwargs): 9 context= CreateView.get_context_data(self, **kwargs) 10 form2 = self.form_class2(self.request.GET or None) 11 form3 = self.form_class3(self.request.GET or None) 12 context.update({'form2': form2}) 13 context.update({'form3': form3}) 14 return context 15 16 def form_valid(self, form): 17 form2 = self.form_class2(self.request.POST or None) 18 form3 = self.form_class3(self.request.POST or None) 19 if form2.is_valid(): 20 with transaction.atomic(): 21 form.save() 22 form2.save() 23 form3.save() 24 else: 25 self.form_invalid(form) 26 return HttpResponseRedirect(self.get_success_url()) 27 28 def get_success_url(self): 29 return reverse_lazy('list')
あなたの回答
tips
プレビュー