推荐答案
在 Flask 中,可以通过 request.args 来获取查询字符串参数。request.args 是一个类似字典的对象,包含了 URL 中所有的查询参数。
// www.javascriptcn.com code example
from flask import Flask, request
app = Flask(__name__)
@app.route('/search')
def search():
query = request.args.get('q')
return f'Search query: {query}'
if __name__ == '__main__':
app.run()在这个例子中,如果访问 /search?q=flask,query 将会是 'flask'。
本题详细解读
1. request.args 的作用
request.args 是 Flask 提供的一个 MultiDict 对象,用于存储 URL 中的查询字符串参数。查询字符串是 URL 中 ? 后面的部分,通常以 key=value 的形式出现,多个参数之间用 & 分隔。
2. 获取单个参数
使用 request.args.get('key') 可以获取指定键的值。如果键不存在,返回 None。你也可以提供一个默认值作为第二个参数,当键不存在时返回该默认值。
query = request.args.get('q', 'default_value')3. 获取多个参数
如果查询字符串中有多个相同的键,可以使用 request.args.getlist('key') 来获取所有值。
tags = request.args.getlist('tag')4. 处理查询字符串
request.args 是一个类似字典的对象,因此你可以使用字典的方法来操作它,比如 keys()、values()、items() 等。
for key, value in request.args.items():
print(f'{key}: {value}')5. 注意事项
request.args只包含查询字符串参数,不包含 POST 请求中的表单数据。- 查询字符串参数是 URL 的一部分,因此它们会被编码。Flask 会自动解码这些参数。
通过 request.args,你可以轻松地处理 URL 中的查询参数,并根据这些参数执行相应的逻辑。