1

1 つのビュー内でフォーム エラーを表示するのに問題があります。私は現在学生で、2 学期の間 Python のクラスを受講しています。Django を独学で学ぶことにしました。

私が遭遇した問題は、ユーザーが本を投稿できるように、多段階のプロセスを実行しようとしているということです。しかし、私は同じURL内でそれをしたいです。したがって、ユーザーが最初のフォームを終了して送信をクリックすると、次のフォームに進みますが、URL は変わりません。私はこれを理解しました。私の問題は、2 番目のフォームに到達したときに、フォームと共に表示されるフォーム エラーが既に表示されていることです。私は昨日、理解しようとして3時間ほど費やしましたが、運がありませんでした。誰かが助けの手を差し伸べることができれば、それは素晴らしいことです! ありがとう!

def book_post(request):
    if request.method == 'POST':
        formone = bookFormOne(request.POST)        
        formtwo = bookFormTwo(request.POST, request.FILES)
        if formtwo.is_valid():   
            #.....do form2 valid stuff
            return HttpResponseRedirect('/success')        
        if formone.is_valid() :
            #....do form1 valid stuff
            #formtwo = bookFormTwo()..if i add this the errors wont display but then    errors from the first form spill over and it wont allow the second form to be valid...###

            args = {'form2':formtwo,'isbn':isbn,'subject':subject}
            args.update(csrf(request)) 
            return render_to_response('book_post_form2.html', args,context_instance=RequestContext(request))        

        else:
            args = {}
            args['form'] = formone
            args['form2'] = formtwo
            args.update(csrf(request))            


    else: 
        form = bookFormOne()
        args = {'form':form}
        args.update(csrf(request)) 
    return render_to_response('book_post.html', args,context_instance=RequestContext(request)) 
4

1 に答える 1