Proper way to handle multiple forms on one page in Django

后端 未结 10 2244
既然无缘
既然无缘 2020-11-22 09:19

I have a template page expecting two forms. If I just use one form, things are fine as in this typical example:

if request.method == \'POST\':
    form = Au         


        
10条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-22 09:25

    if request.method == 'POST':
        expectedphraseform = ExpectedphraseForm(request.POST)
        bannedphraseform = BannedphraseForm(request.POST)
        if expectedphraseform.is_valid():
            expectedphraseform.save()
            return HttpResponse("Success")
        if bannedphraseform.is_valid():
            bannedphraseform.save()
            return HttpResponse("Success")
    else:
        bannedphraseform = BannedphraseForm()
        expectedphraseform = ExpectedphraseForm()
    return render(request, 'some.html',{'bannedphraseform':bannedphraseform, 'expectedphraseform':expectedphraseform})
    

    This worked for me accurately as I wanted. This Approach has a single problem that it validates both the form's errors. But works Totally fine.

提交回复
热议问题