【问题标题】:In python flask, how do you get the path parameters outside of the route function? [duplicate]在python烧瓶中,如何获取路由函数之外的路径参数? [复制]
【发布时间】:2017-05-20 10:48:05
【问题描述】:

在flask中,你可以像这样定义路径参数:

@app.route('/data/<section>')
def data(section):
   print section

在上面的例子中,你只能从数据端点访问section变量(除非你在函数参数中传递它)

您也可以通过访问请求对象来获取查询参数。这适用于端点函数以及任何其他调用函数,无需传递任何内容

request.args['param_name']

我的问题是:是否可以像访问查询参数一样访问路径参数(如上一节)?

【问题讨论】:

  • 你是指请求的实际路径(例如'/data/1')还是匹配的字符串字面量(例如'/data/
    ')?
  • 我认为您的意思是 requestsession 像全局变量一样工作,而您希望 section 作为全局变量工作。你可以做的是将它存储到flask.g,这是一个应用程序全局,可以存储任意python对象的请求长度。我想section 实际上已经在request 某处。

标签: python flask


【解决方案1】:

可以使用request.view_argsdocumentation 是这样定义的:

与请求匹配的视图参数的字典。

这是一个例子:

@app.route("/data/<section>")
def data(section):
    assert section == request.view_args['section']

【讨论】:

  • @ulienc:这正是我想要的,谢谢
  • 如何在查询中使用它?例如 @app.route("/data/") def data(tablename): sql='desc tablename'
猜你喜欢
  • 1970-01-01
  • 2021-03-22
  • 2022-01-19
  • 2019-10-05
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
  • 2021-10-08
  • 2020-02-07
相关资源
最近更新 更多