一尘不染

获取同名的多个请求参数

flask

我的问题是给定的代码:

from flask import Flask, request

app = Flask(__name__)

@app.route("/")
def hello():
    return str(request.values.get("param", "None"))

app.run(debug=True)

我访问:

http://localhost:5000/?param=a&param=bbb

我应该期望[‘a’,’bbb’]的输出,除了Flask似乎只接受第一个参数而忽略其余参数。

这是Flask的限制吗?还是设计使然?


阅读 780

收藏
2020-04-05

共1个答案

一尘不染

你可以使用getlist与Django类似的,getList但由于某些原因,Flask文档中未提及:

return str(request.args.getlist('param'))

结果是:

[u'a', u'bbb']

使用request.args如果参数是查询字符串(如题),request.form如果值来自具有相同名称的多个表单输入。 request.values结合了两者,但通常应避免使用更具体的集合。

2020-04-05