使用工厂函数时烧瓶`app.before_request`?

时间:2020-12-19 09:57:57

标签: python python-3.x flask

文档建议使用工厂函数。

def create_app():
    app = Flask(__name__)
    return app()

所以我在编写代码时无法访问我的应用程序,
对于这个海豚,flask 模块中有一个名为“current_app”的对象,
所以我这样做了,我得到了“超出应用程序上下文错误”

@current_app.before_request
def before_req():
    whatever...

当我使用工厂函数时,如何定义 before 请求函数?!

1 个答案:

答案 0 :(得分:0)

您可以在 create_app 函数中定义 before_request 函数:

def create_app():
    app = Flask(__name__)

    @app.before_request
    def before_request(response):
        response.headers['Access-Control-Allow-Origin'] = '*'
        return response

    return app

如果您使用 Flask 蓝图,您可以像这样为蓝图定义 before_request 函数:

from Flask import Blueprint

my_blueprint = Blueprint('my_blueprint', __name__)

@my_blueprint.before_request
def before_request(response):
    response.headers['Access-Control-Allow-Origin'] = '*'
    return response
相关问题