当前位置: 首页 > 知识库问答 >
问题:

如何访问Flask routes中的查询字符串?

孟建木
2023-03-14

如何访问Flask routes中的查询参数或查询字符串?从烧瓶文档中看不明显。

下面的示例路由/data说明了我希望访问该数据的上下文。如果有人请求类似于example.com/data?abc=123,我希望能够访问字符串?abc=123,或者能够检索类似于abc的参数值。

@app.route("/data")
def data():
    # query_string = ???
    return render_template("data.html")

共有3个答案

曾典
2023-03-14

我来这里是为了寻找查询字符串,而不是如何从查询字符串中获取值。

request.query_string返回URL参数作为原始字节串(参考文献1)。

使用request.query_string示例

from flask import Flask, request

app = Flask(__name__)

@app.route('/data', methods=['GET'])
def get_query_string():
    return request.query_string

if __name__ == '__main__':
    app.run(debug=True)

输出:

参考资料:

  1. 查询字符串的官方API文档
谢清野
2023-03-14

完整URL可用作request.URL,查询字符串可用作request.query\u string.decode()

下面是一个例子:

from flask import request

@app.route('/adhoc_test/')
def adhoc_test():

    return request.query_string

要访问查询字符串中传递的单个已知参数,可以使用request.args.get('param')。据我所知,这是做这件事的“正确”方法。

ETA:在你进一步之前,你应该问自己为什么要查询字符串。我从来没有拉入原始字符串——烧瓶有抽象方式访问它的机制。除非你有令人信服的理由,否则你应该使用这些。

后阳炎
2023-03-14
from flask import request

@app.route('/data')
def data():
    # here we want to get the value of user (i.e. ?user=some-value)
    user = request.args.get('user')
 类似资料:
  • 问题内容: 我上课像 如何查询具有以下角色的所有对象 编辑: 我正在使用Hibernate 3.0.5。并尝试了大多数明显的方法。 给出JDBC错误。 给出类强制转换异常 我认为这可能与特定版本的hibernate有关。 问题答案: 我找到了解决方案: hql函数value()以某种方式必须对此有所帮助,您也可以尝试使用它,但是上面的hql查询对我有用。

  • 问题内容: 是否有通过jQuery(或不通过jQuery)检索[查询字符串]值的无插件方法? 如果是这样,怎么办?如果没有,是否有可以做到的插件? 问题答案: const urlParams = new URLSearchParams(window.location.search); const myParam = urlParams.get(‘myParam’); 原版的 为此,您不需要jQue

  • 问题内容: 我有一个带有表的数据库,该表充满了用于检查另一个数据库的条件和错误消息。 我想运行一个循环,以便对照第二个数据库中的所有表检查所有这些条件,并生成一个给出错误的报告。 这是可能的ms访问。 例如, querycrit表 我有超过400个类似这样的不同变量的查询。 我针对其运行查询的表是 记录表 问题答案: 这是更多示例代码。它说明了两种不同类型的记录集的用法。您可能希望阅读VBA陷阱:

  • 在我删除索引之后。php,我在codeigniter中启用查询字符串。但我有一些重定向链接的问题。详细信息,我有登录表单(登录/索引),登录成功时重定向到“欢迎/索引”,并在会话中保存电子邮件。 但是登录成功时只加载视图的"欢迎/索引"和错误的链接,现在链接是:"?登录/索引"并且会话不保存。请帮帮我。 这是我的密码 登录。php(控制器) Welcome.php(控制器) 欢迎留言。php(视图

  • 问题内容: 考虑一下我有这行代码 恕我直言,这很容易受到SQL注入的攻击。 因此,我想通过Get / URL发送一个“ var”参数来证明它是可以尝试的,该参数将注入查询,并带有潜在的恶意代码。 我实际上尝试过: 我尝试在执行之前打印出SQL字符串查询,它实际上是2条SQL有效语句。 第一个问题,但实际上似乎mysqli-> query不会一次执行2条语句。是不是 第二个问题,我看到注入查询的一种

  • 我有如下要求。 从UI获取place子句作为字符串,任何选项都可以在Spring Boot中的place子句中添加字符串以查询mongo DB 例如:(eventType以“asdf”和age开头 在sql中,我们可以添加where子句,但不确定如何在mongoDB的springboot中做到这一点 注意:字符串是动态的,没有特定的模式。括号可以嵌套。Spring防尘套前端角度和维修 提前感谢