如O'Reilly Flask Web Devleopment 中所述,可从烧瓶请求对象中检索到的每种形式的查询字符串:
来自O'Reilly Flask Web Development,正如前面 Manan Gouhari 所说,首先您需要导入请求:
from flask import request
request 是一个由 Flask 公开的对象,作为一个名为(你猜对了)request 的上下文变量。顾名思义,它包含所有客户端包含在 HTTP 请求中的信息。该对象有许多属性和方法,您可以分别检索和调用它们。
您有很多 request 属性,其中包含可供选择的查询字符串。在这里,我将列出以任何方式包含查询字符串的每个属性,以及 O'Reilly 书中对该属性的描述。
首先是args,它是“一个字典,其中包含在 URL 的查询字符串中传递的所有参数。”因此,如果您希望将查询字符串解析为字典,您可以执行以下操作:
from flask import request
@app.route('/'):
queryStringDict = request.args
(正如其他人所指出的,您也可以使用.get('<arg_name>') 从字典中获取特定值)
然后,有form 属性,它不 包含查询字符串,但它包含在另一个确实 包含查询字符串的属性中我将暂时列出。不过,首先,form 是“包含随请求提交的所有表单字段的字典”。我这么说就是:烧瓶请求对象中有另一个可用的字典属性,称为values。 values 是“结合form 和args 中的值的字典。”检索看起来像这样:
from flask import request
@app.route('/'):
formFieldsAndQueryStringDict = request.values
(同样,使用.get('<arg_name>') 从字典中获取特定项目)
另一个选项是query_string,它是“URL 的查询字符串部分,作为原始二进制值”。示例:
from flask import request
@app.route('/'):
queryStringRaw = request.query_string
还有一个额外的好处是full_path,它是“URL 的路径和查询字符串部分”。例如:
from flask import request
@app.route('/'):
pathWithQueryString = request.full_path
最后,url,“客户端请求的完整 URL”(包括查询字符串):
from flask import request
@app.route('/'):
pathWithQueryString = request.url
黑客愉快:)