Flaskプラグビューでurl_を使用するforリダイレクト先パス取得

1046 ワード

Flaskフレームワークは0.7バージョン後に の概念を導入したが、概念はここでは詳しく述べず、公式ドキュメントを表示することができる.しかし、書き方の変化により、熟練していない開発者にいくつかの問題が発生しました.例えば、私自身が今日、サーバがredirectにリダイレクトすることを指定したとき、url_forで正しいビュー関数にどのように指定しますか.実は、プラグビューをはっきり理解すれば、この問題はよく解決されます.
プラグビューは本質的にクラス方式で本来のビュー関数とURLルーティングを管理し、プラグビューではas_view()がビュー名を指定し、モジュール名はBlueprintの設定で決定することができる.したがって、次のように仮定します.
  • Blueprint指定モジュール名main
  • プラグビュークラスclass LoginPageは、get要求とpost要求とをそれぞれ応答する方法def get(self)&def post(self)を含み、もう1つのプラグビュークラスclass MainPage
  • がある.
  • urlバインドurl('/login', view_func=LoginPage.as_view('login'))&url('/mainpage', view_func=MainPage.as_view('mainpage'))
  • ログイン要求がpostを介してバックグラウンド要求に送信され、検証が通過し、ホーム(mainpage)にジャンプする場合、url_for()を使用してリダイレクトする場合、指定モジュール名はmain、ビュー名はmainpaigeであり、最終的には:return redirect(url_for('main.mainpage'))と書けばよい.