Flaskファクトリアプリケーションパターンを使用し始めたら、設定とインポートが混乱します。私は#アプリで機能create_app/のinitの.py を使用してアプリケーションを作成していFlaskファクトリアプリケーションで電子メールトークンを設定するcreate_app
は、私は、開発/テスト/本番変数を設定するための設定ファイル、および他の設定ファイルとインスタンスのフォルダを持っています。
def create_app(config_name):
app=Flask(__name__, instance_relative_config=True)
app.config.from_object(app_config[config_name])
app.config.from_pyfile('config.py')
etc...
return app
私は確認メールを設定しようとしています青写真を使用し、#アプリ/認証/ views.py で認証ビューを持っていますがURLSafeTimedSerializerを使用してトークン...
from itsdangerous import URLSafeTimedSerializer
@auth.route('/register', methods=['GET','POST'])
def register():
ts = URLSafeTimedSerializer(app.config['SECRET_KEY'])
token = ts.dumps(self.email, salt='email-confirm-key')
etc...
今私の問題私の変数 'ts'にはapp.config ['SECRET_KEY']が必要です。しかし、(私はすべてのオンラインチュートリアルに示されているように)app変数を定義することができません。私はインポートしようとすると(#アプリ/認証/ views.pyで)...
from .. import app
をエラーを取得し、私は次のようにインポートしようとすると...
from .. import create_app
誰かが輝けるフラスコのアプリファクトリ「create_app」の外で「app」とapp.configを使用してモジュールを初期化する方法についての光?
私の質問を理解していただきたいと思います。
あなたがFlask.current_app
from flask import current_app
...
ts = URLSafeTimedSerializer(current_app.config['SECRET_KEY'])
the documentationから使用する必要があります。このシナリオでは
大変ありがとうございました。 –