是否可以通过flask请求获取URL参数(在url规则中设置)?

时间:2019-07-18 20:42:36

标签: python flask

我有这个网址路由,能否通过flask.request获取user_id? 我想创建一个包装器,并在此处获取user_id。

def test_required(fn):
@wraps(fn)
def wrapper(*args, **kwargs):
    user_id = ?????

    return fn(*args, **kwargs)

return wrapper

@app.route('/api/test/<int:user_id>', methods=['GET'])
@test_required
def jwt_routes_test(user_id):

request.args,request.form或request.values不会返回此值。 我可以以某种方式访问​​它吗?

3 个答案:

答案 0 :(得分:2)

此代码仅对接受user_id作为参数的视图函数有效。因此,您只需从那里得到它。

答案 1 :(得分:1)

在路线中将其用作参数:

@app.route('/api/test/<int:user_id>', methods=['GET'])
def myroute(user_id: int):
    # do something

https://flask.palletsprojects.com/en/1.0.x/quickstart/#variable-rules

答案 2 :(得分:1)

好像您要的是view_args字典。

  

与请求匹配的视图参数字典。如果有例外   匹配时发生的情况,将是None