Djangoの1つのページで複数のフォームを処理する適切な方法
2つのフォームを想定したテンプレートページがあります。1つのフォームのみを使用する場合、この典型的な例のように問題はありません。 if request.method == 'POST': form = AuthorForm(request.POST,) if form.is_valid(): form.save() # do something. else: form = AuthorForm() ただし、複数のフォームを操作したい場合は、フォームの1つだけを送信し、他のフォームは送信しないことをビューに通知するにはどうすればよいですか(つまり、request.POSTのままですが、送信したフォームのみを処理します)起こりました)? これは、expectedphraseとbannedphraseがさまざまなフォームの送信ボタンの名前で、expectedphraseformとbannedphraseformがフォームであるという回答に基づくソリューションです。 if request.method == 'POST': if 'bannedphrase' in request.POST: bannedphraseform = BannedPhraseForm(request.POST, prefix='banned') if bannedphraseform.is_valid(): bannedphraseform.save() expectedphraseform = ExpectedPhraseForm(prefix='expected') elif 'expectedphrase' in request.POST: expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected') if expectedphraseform.is_valid(): expectedphraseform.save() bannedphraseform …