使用flask_api_key时在应用程序上下文之外工作

问题描述 投票:0回答:1

基于https://pypi.org/project/flask-api-key/我正在尝试实现:

from flask import Flask
from flask_api_key import APIKeyManager, api_key_required

app = Flask(__name__)

my_key_manager = APIKeyManager(app)
my_key_manager.create("First_key")

@app.route("/")
def home():
    return "hi Home"

@app.route("/protected")
@api_key_required
def protected():
    return "hi protected"

if __name__ == "__main__":
    app.run(debug=True)

错误信息:

“运行时错误:在应用程序上下文之外工作。这通常意味着您尝试使用所需的功能 以某种方式与当前应用程序对象交互。解决 为此,使用 app.app_context() 设置应用程序上下文。请参阅 文档以获取更多信息。”

python flask api-key
1个回答
0
投票

Flask 应用程序上下文可以创建为 Python 上下文管理器:

with app.app_context():
    my_key_manager.create("my_first_key")

如果您想了解有关应用程序上下文的背景信息,请参阅 https://flask.palletsprojects.com/en/2.3.x/appcontext/

注意,当运行代码的更新版本时,我遇到了 Flask_api_key 库的另一个问题,看起来像这个问题:https://github.com/jthop/flask-api-key/issues/2

© www.soinside.com 2019 - 2024. All rights reserved.