私はウェブサイトを構築しており、私たちのページから見積もりを求める様々なビューが必要です。可能であればDRYとしてコードを保存したいので、さまざまなビューから見積もり要求を受け取るビューquote
を作成しています。要求を行ったページにリダイレクトされた検証エラーがある場合は、私はこれを超悪い習慣の「グローバル変数」を使って解決しました。より良い解決策が必要な場合は、現在のフォームでそれぞれのビューにリダイレクトしたいので、form.errors
を反復処理することができます。ここに私のコードは次のとおりです。別のビューにフォームを送信するdjango
def send_quote(request):
form = Quote(request.POST)
if form.is_valid():
# do stuff when valid
return redirect('Support:thanks', name=name or None)
quote_for = request.POST['for_what']
global session_form
session_form = form
return redirect('Main:' + quote_for) # Here I would like to send form instead of storing in global variable`
私はそれを試して、リクエストを送信した最後のページにリダイレクトしますが、リダイレクト後もまだ利用可能なフォームですか? –
'HttpResponseRedirect'はクラスです。 –
セッションを使用してフォームを保存すると、リダイレクトするページが正しく処理されます。 –