29

何かを実行したいビューが1つあり、成功メッセージを表示して別のビューにリダイレクトします。リダイレクトしたいメソッドのシグネチャは

quizView(request, quizNumber, errorMessage=None, successMessage=None): 

そのビューにリダイレクトしようとした私の試みは次のようになります。

return redirect(quizView, quizNumber=quizNumber, errorMessage=None, successMessage="Success!")

名前付きパラメーターと名前なしパラメーターのほとんどすべての組み合わせを試しましたが、やりたいことを実行できません。これを機能させる方法はありますか?

また、2番目のビューを最初のビューで返すようにしましたが、URLはリダイレクトされたかのように表示されるのではなく、古いビューの元の場所のままです。

ありがとう!

4

3 に答える 3

41

URLに名前を付けていないため、view関数へのパス全体を使用する必要があります。さらに、そのURLはerrorMessageまたはパラメーターを受け取らないため、それらを呼び出しにsuccessMessage入れることは失敗します。reverseこれはあなたが望むものです:

return redirect('quizzes.views.quizView', quizNumber=quizNumber)
于 2012-11-11T15:19:18.663 に答える
6

https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#redirectにある例2を試してみてください

  • 与えられたビューで「リバース」を実行することを確認してください。
  • ビュー名は一重引用符で囲む必要があります/
于 2012-11-11T05:36:32.200 に答える
-2

これを参照する必要がありますhttps://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect

ビュー内のリダイレクト用。ビューのURLを作成してリダイレクトするか、ビュー内で呼び出すのも非常に簡単です。

于 2017-02-05T07:14:45.027 に答える