У меня есть страница шаблона, ожидающая двух форм. Если я просто использую одну форму, все будет хорошо, как в этом типичном примере:
if request.method == 'POST':
    form = AuthorForm(request.POST,)
    if form.is_valid():
        form.save()
        # do something.
else:
    form = AuthorForm()
Если я хочу работать с несколькими формами, как мне сообщить, что я представляю только одну из форм, а не другую (т.е. она все еще запрашивает .POST, но я хочу обработать форму для который был отправлен)?
Это решение, основанное на ответе, где ожидаемая фраза и запрещенная фраза - это имена кнопок отправки для разных форм, а ожидаемая фраза и форма запрещенной формы - это формы.
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')
