在 Flask 中,我有带有变量的 url 规则。例如:
my_blueprint.add_url_rule('/<user_token>/bills/',view_func=BillsView.as_view('bills'))
这将通过user_token
变量为BillsView
's get
and post
方法。
我试图拦截它user_token
变量在before_request
我的蓝图。
这是我的蓝图before_request
:
def before_req():
...
...
my_blueprint.before_request(before_req)
我最接近的是使用request.url_rule
。但这并没有给我变量的内容。只是匹配的规则。
使用注册 URL 处理器@app.url_value_preprocessor,它获取从 URL 匹配的端点和值。可以修改值字典,例如弹出一个不会用作视图函数参数的值,并将其存储在g
命名空间。
from flask import g
@app.url_value_preprocessor
def store_user_token(endpoint, values):
g.user_token = values.pop('user_token', None)
该文档包括一个详细示例使用它从 URL 中提取国际化语言代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)