In a django view etc. you can access the request.GET['variablename'], so in your view you can return do something like this:
myvar = request.GET['myvar']
The actual request.GET['myvar'] object type is:
<class 'django.http.QueryDict'>
Now, if you want to pass multiple variables with for the same parameter name i.e
http://mysite.com/blah/?myvar=123&myvar=567
In other words, you would like a python list returned for the parameter myvar
Essentially what i would like to do is something like this
for var in request.GET['myvar']:
print var
However, when you try that you only get the last value passed in the url i.e in the example above you will get 567
and the result in the shell will be:
5
6
7
However, when you do a print of request.GET it seems like it has a list i.e:
<QueryDict: {u'myvar': [u'123', u'567']}>
Ok Update: It's designed to return the last value, my use case is i need a list.
from django docs:
QueryDict.getitem(key)¶ Returns the value for the given key. If the key has more than one value, getitem() returns the last value. Raises django.utils.datastructures.MultiValueDictKeyError if the key does not exist. (This is a subclass of Python's standard KeyError, so you can stick to catching KeyError
QueryDict.getlist(key) Returns the data with the requested key, as a Python list. Returns an empty list if the key doesn't exist. It's guaranteed to return a list of some sort.
Update: If anyone knows why django dev's have done this please let me know, seems counter-intuitive to show a list and it does not behave like one. Not very pythonic!