我想知道是否可以从此查询字符串中获取值?
'?agencyID=1&agencyID=2&agencyID=3'
为什么我必须使用这样的查询字符串?
我有一个带有10个复选框的表单。我的用户应该向我发送他/她感兴趣的新闻机构的ID。所以查询字符串包含多个具有相同名称的值。新闻机构的总数是可变的,它们是从数据库加载的
我正在使用Python Tornado来解析查询字符串。
答案 0 :(得分:9)
阅读the tornado docs,这似乎可以做你想要的事情
RequestHandler.get_arguments(name,strip = True)
返回一个列表 具有给定名称的参数。 如果参数不存在,则返回空列表。 返回的值始终是unicode。
所以喜欢这个
ids = self.get_arguments('agencyID')
请注意,我在这里使用了get_arguments
,还有一个get_argument
,但只有一个参数。
您可以使用
获取整个查询query = self.request.query
答案 1 :(得分:2)
>>> from urlparse import urlparse, parse_qs
>>> url = '?agencyID=1&agencyID=2&agencyID=3'
>>> parse_qs(urlparse(url).query)
{'agencyID': ['1', '2', '3']}
答案 2 :(得分:2)
tornado.web.RequestHandler有两种获取参数的方法:
所以,也许get_arguments就是你需要的。