Google App Engine - 请求类的查询字符串

6 投票
2 回答
5492 浏览
提问于 2025-04-15 14:08

在Python和GAE中,我想问一下如何获取网址中查询字符串的参数。 我知道,查询字符串部分返回的是网址中“?”后面的所有内容。所以我需要做的就是用“&”把查询字符串分开,然后使用这些变量。 有没有其他更方便的方法来处理查询字符串呢? 你们通常是怎么做的?

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

这样做的话,如果查询字符串没有任何值,就会报错:

IndexError: list index out of range

2 个回答

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()}
18

你不需要搞得太复杂。你可以用下面的代码获取所有的GET参数:

self.request.get('var_name')

如果你想把它们都放在一个列表里,可以使用下面的代码:

self.request.get_all()

想了解更多关于Request类的信息,可以点击这里

撰写回答