問題タブ [flask-session]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
session - ダイナミック ナビゲーション メニューの Flask ナビゲーションから Flask セッション変数にアクセスする
ユーザーが現在ログオンしていない場合は「ログイン」、ユーザーがログインしている場合は「ログアウト」を表示するダイナミック ナビゲーション メニューが必要です。
次のようなコードを使用しています。
残念ながら、Flask セッション変数は nav オブジェクトの範囲外であるため、top_nav 内からflask.session にアクセスできません。
たとえば、アプリケーションの外部でフラスコセッションにアクセスするためのスタンドアロン関数を作成するときも、同じ問題があります。
これらの関数は、予想されるエラー「RuntimeError: Working outside of request context.」を返します。
セキュリティ上の理由から、ユーザーの application.py コードでグローバル変数を使用したくないため、複数の人がエラーなしで同時にアプリケーションにアクセスできます。ユーザーが現在ログインしているかどうかに関係なく、SESSIONは保存する必要があると思います。
アプリケーションのflask.sessionを表示するためにflask_nav.Nav()を取得するにはどうすればよいですか?
flask - アプリケーションでflask_sessionを使用すると400エラーが発生するのはなぜですか?
最近、アプリケーションでflask_session拡張を使用し始めました。また、セキュリティ目的でflask_wtf.csrf拡張トークンを使用しています。
さて、flask_session の前はアプリケーションは完全に機能していましたが、flask_session をインストールしてconfig.pyでパラメータを設定したときに、ログインまたはアプリケーションの登録を試みた場合400 Bad Request The CSRF session token is missing.
、実際には、csrf_token を含むすべてのリクエストに csrf_token を含めています。また、ajaxリクエスト。
セッションの保存タイプはsqlalchemy
次のとおりです。
言い忘れましたが、タイプを「ファイルシステム」に変更すると、エラーが表示されないことに気付きました。
詳細については、flask_session のドキュメントを参照してください。
ログイン テンプレート:
クライアントの views.py :
session - Flask セッションと静的ファイル
SessionInterface
DynamoDB データベースとやり取りするカスタム実装を使用しています。静的ファイルのリクエストを含むすべてのリクエストに対してセッションがロードされているようです。
私が見逃しているものはありますか?