在Python中将数组作为GET查询参数获取

时间:2011-10-29 16:22:35

标签: python list flask request werkzeug

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

如果重要的话,我会使用flask / werkzeug。

3 个答案:

答案 0 :(得分:53)

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

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

另外,请查看jQuery递归参数序列化pattern,以及可以对其进行反序列化的jquery-unparam lib。

答案 1 :(得分:45)

对PHP AFAIK进行深层解析参数名称是唯一的。

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

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

答案 2 :(得分:-3)

request.query_params

将返回所有获取请求参数的所有键值对列表

Django,DRF