두 가지 형식이 필요한 템플릿 페이지가 있습니다. 하나의 양식 만 사용하면이 전형적인 예와 같이 문제가 없습니다.
if request.method == 'POST':
form = AuthorForm(request.POST,)
if form.is_valid():
form.save()
# do something.
else:
form = AuthorForm()
그러나 여러 양식으로 작업하려면 양식 중 하나만 제출하고 다른 양식은 제출하지 않는다는 것을 어떻게 알 수 있습니까? 일어난)?
이것은 예상 문구 와 금지 문구 가 다른 양식에 대한 제출 버튼의 이름이고 예상 문구 양식 과 금지 문구 양식이 양식 인 답변을 기반으로 한 솔루션 입니다.
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')