Skip to content Skip to sidebar Skip to footer

Is It Possible To Get Values From Query String With Same Name?

I want to know if it's possible to get values from this query string? '?agencyID=1&agencyID=2&agencyID=3' Why I have to use a query string like this? I have a form wit

Solution 1:

Reading the tornado docs, this seems to do what you want

RequestHandler.get_arguments(name, strip=True)

Returns a list of the arguments with the given name. If the argument is not present, returns an empty list. The returned values are always unicode.

So like this

ids = self.get_arguments('agencyID')

Note that here i used get_arguments, there is also a get_argument but that gets only a single argument.


You can get the whole query with

query = self.request.query

Solution 2:

>>> from urlparse import urlparse, parse_qs
>>> url = '?agencyID=1&agencyID=2&agencyID=3' 
>>> parse_qs(urlparse(url).query)
{'agencyID': ['1', '2', '3']}

Solution 3:

tornado.web.RequestHandler has two methods to get arguments:

  • get_argument(id), which will get the last argument with name 'id'.
  • get_arguments(id), which will get all arguments with name 'id' into a list even if there is only one.

So, maybe get_arguments is what you need.

Post a Comment for "Is It Possible To Get Values From Query String With Same Name?"