53

我知道在 php 中我可以只$_GET['key1']['key2']用来检索以数组形式发送的 GET 数据,但是这在 Python 中是可能的,因为我只收到一个字符串并且它不被识别为数组/列表。

如果这很重要,我会使用烧瓶/werkzeug。

4

2 回答 2

67

参数名称的深度解析对于 PHP AFAIK 来说是独一无二的。

如果您只需要一个简单的列表,只需传递几个具有相同名称并使用的参数request.args.getlist(<paramname>)文档)。

否则,您必须自己解析查询字符串。

于 2011-10-29T16:57:51.617 回答
66

request.args是一个 MultiDict 实例(MultiDictFlask request api)。

request.args[key] ## returns a single value, the first if there are multiple
request.args.getlist(key) ## returns a list

如果您想提交比使用简单 key:vals 编码更复杂的结构,请考虑发送一个 json 编码对象。

另外,查看 jQuery recursive param serialization pattern和可以反序列化它的jquery-unparam lib。

于 2011-10-29T17:07:51.497 回答