我试图在一个蓝图 authorisation.py
中访问应用程序配置,它在一个包 api 中。我在 __init__.py
中初始化蓝图,这是在 authorisation.py
中使用的。
不,不,不,不,不,不,不,不,不,不,不,不,不
from flask import Blueprint
api_blueprint = Blueprint("xxx.api", __name__, None)
from api import authorisation
Authorisation.py
from flask import request, jsonify, current_app
from ..oauth_adapter import OauthAdapter
from api import api_blueprint as api
client_id = current_app.config.get('CLIENT_ID')
client_secret = current_app.config.get('CLIENT_SECRET')
scope = current_app.config.get('SCOPE')
callback = current_app.config.get('CALLBACK')
auth = OauthAdapter(client_id, client_secret, scope, callback)
@api.route('/authorisation_url')
def authorisation_url():
url = auth.get_authorisation_url()
return str(url)
我得到了 RuntimeError: 在应用程序上下文之外工作
我理解为什么会这样,但是访问这些配置设置的正确方法是什么呢?
——更新—— 暂时的,我已经这么做了。
@api.route('/authorisation_url')
def authorisation_url():
client_id, client_secret, scope, callback = config_helper.get_config()
auth = OauthAdapter(client_id, client_secret, scope, callback)
url = auth.get_authorisation_url()
return str(url)