在Django视图中,您可以访问request.GET['variablename']
,因此在您的视图中,您可以执行以下操作:
myvar = request.GET['myvar']
实际的request.GET['myvar']
对象类型为:
<class 'django.http.QueryDict'>
现在,如果要传递具有相同参数名称的多个变量,即:
http://example.com/blah/?myvar=123&myvar=567
您希望为参数myvar
返回python list
,然后执行以下操作:
for var in request.GET['myvar']:
print(var)
但是,当您try 只获得在url中传递的最后一个值时,即在上面的示例中,您将获得567,而shell中的结果将是:
5
6
7
然而,当你打印request.GET
的时候,它似乎有一个list
,即:
<QueryDict: {u'myvar': [u'123', u'567']}>
Ok更新:
来自django docs:
QueryDict.getitem(键) 退货 给定键的值.如果 密钥具有多个值, getitem()返回最后一个值.加薪 django.utils.datastructures.MultiValueDictKeyError 如果密钥不存在.(这是一个 Python标准的子类 KeyError,所以您可以坚持捕捉 键错误
getlist(Key)返回 具有请求的密钥的数据,作为 Python列表.如果出现以下情况,则返回空列表 密钥不存在.这是有保证的 返回某种类型的列表.
更新: