問題タブ [blinker]
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.
python - ビュー モジュールに Flask-security インスタンスをインポートすると、Web アプリケーションが壊れます
私は e コマース サイトのサインアップ/サインイン システムを作成しており、フラスコ セキュリティ ( http://pythonhosted.org/Flask-Security/ ) を使用してサインアップ機能を処理しています。基本セットアップの一部には、次の signup.py モジュールが必要です。
次に、次のように user_datastore とセキュリティ オブジェクトを views.py モジュールにインポートする必要があります。
問題は、上記の import ステートメントをビュー モジュールに含めるとすぐに、アプリ全体がクラッシュし、単体テストまたは動作テストを実行しようとすると次のトレースバック エラーが発生することです (読みやすくするために編集されています)。
これが何を意味するのかわかりません。フラスコセキュリティのドキュメントを読んでみましたが、なぜそれが起こっているのかわかりません。これを刺してくれる人に感謝します!
python - ウインカーが Python 2.6 で機能しない
このコード スニペットは、Python 2.7 でうまく機能します。ただし、Python 2.6 では動作しません。私はこのトレースを取得します:
これを 2.6 環境で動作させる方法はありますか?
python - Flask-Security user_registered シグナルは Python 3.3 では受信されませんが、2.7 では機能します
次のリンクのように、flask-security を使用して登録するときにユーザーのデフォルトの役割を設定するために、user_registered シグナルを使用しようとしています: Flask Security でのデフォルトの役割の設定
私の検索では、フラスコセキュリティでこれに対してすでに対処されているバグがあったことがわかります:フラスコセキュリティからシグナルを取得していない、修正-user_registeredシグナルの問題
ハンドラーが運なしでシグナルを受信したかどうかを証明するために、次のことを試しました。
ただし、ユーザーが登録されてシグナルが送信されたとしても、これは呼び出されません。
それが役立つ場合は、flask-security 構成を次のように設定しました。
Flask-Login および Flask-Principal からのシグナルは、シグナルが送信されたときに次のコード スニペットが正常に出力されることを確認できたので、うまく機能しています。
私のセットアップでは、python 3.3 (アナコンダ) を使用し、以下を使用しています: Flask==0.10.1,flask-login==0.2.11,flask-principal==0.4.0,flask-security==1.7.4,ウインカー==1.3。フラスコログインとフラスコセキュリティの両方のシグナルを調べたところ、フラスコセキュリティシグナルが機能しない理由がわかりません。
編集:
アプリのルートに追加print(user_registered.receivers)
すると、レシーバーがあることが示されます{139923381372400: <function user_registered_sighandler at 0x7f42737145f0>}
。この同じ print ステートメントをフラスコ セキュリティの registerable.py 内に置くと、user_registered.send(app._get_current_object(),user=user, confirm_token=token)
受信者が一覧表示されません。{}
EDIT2:
問題は、python 3.3 の使用に関連しているようです。Python 2.7 環境を作成したところ、user_registered コードが期待どおりに機能しました。
再現する完全なコード:
base.html テンプレート: