可以在应用程序工厂内定义共享请求挂钩吗?
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])
db.init_app(app)
csrf.init_app(app)
login_manager.init_app(app)
babel.init_app(app)
@app.before_request
def before_request_callback():
if request.view_args and 'locale' in request.view_args:
if request.view_args['locale'] not in app.config['SUPPORTED_LOCALES']:
return abort(404)
g.locale = request.view_args['locale']
request.view_args.pop('locale')
from . app_area__main import main as main_blueprint
app.register_blueprint(main_blueprint)
from . app_area__admin import admin as admin_blueprint
app.register_blueprint(admin_blueprint, url_prefix='/admin')
只需注册一个函数before_app_request
在你的 main(app_area_main) 蓝图中。例如:
@main_blueprint.before_app_request
def before_app_request():
pass
传递给应用程序的所有请求都将调用该函数。
检查这个link关于 Flask 中 Blueprint 的 api。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)