Saya memiliki halaman templat yang mengharapkan dua formulir. Jika saya hanya menggunakan satu formulir, semuanya baik-baik saja seperti dalam contoh khas ini:
if request.method == 'POST':
form = AuthorForm(request.POST,)
if form.is_valid():
form.save()
# do something.
else:
form = AuthorForm()
Namun, jika saya ingin bekerja dengan beberapa formulir, bagaimana saya membiarkan pandangan tahu bahwa saya mengirimkan hanya satu formulir dan bukan yang lain (yaitu masih meminta. HOST tetapi saya hanya ingin memproses formulir yang dikirimkannya terjadi)?
Ini adalah solusi berdasarkan jawaban mana expectedphrase dan bannedphrase adalah nama-nama tombol submit untuk berbagai bentuk dan expectedphraseform dan bannedphraseform adalah bentuk.
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 = BannedPhraseForm(prefix='banned')
else:
bannedphraseform = BannedPhraseForm(prefix='banned')
expectedphraseform = ExpectedPhraseForm(prefix='expected')