Google App Engine - 请求类query_string

时间:2009-09-07 21:31:07

标签: python google-app-engine

在Python和GAE中,我想问一下如何在url中获取查询字符串的参数。 据我所知,query_string部分返回“?”之后的所有部分。在网址中。所以我要做的是将查询字符串拆分为“&”,并使用变量。 有没有其他方便的方法来管理查询字符串? 你通常怎么做?

str_query = self.request.query_string
m = str_query.split('&')
a = m[0] 
b = m[1]
c = m[2]

这样做,如果query_string没有任何值,它就会抛出错误:

IndexError: list index out of range

2 个答案:

答案 0 :(得分:18)

你不需要复杂化。您可以使用以下命令检索所有GET参数:

self.request.get('var_name')

或者如果您想在一个列表中检索它们,您可以使用:

self.request.get_all()

您可以在请求类here上找到更多信息。

答案 1 :(得分:0)

如果要迭代请求的所有参数,您应该执行以下操作:

for argument in self.request.arguments():
    values = self.request.get_all(argument)
    # do something with values (which is a list)

或者,您可以构建自己的dict包含所有数据:

params = {arg: self.request.get_all(arg) for arg in self.request.arguments()}