2015-06-15 13 views
1

我有几个可能的参数在页面中处理。假设x0,x1,x2,...,x1000。看起来很尴尬,通过request.GET.get('x0'),request.GET.get('x1'),来逐个获取和处理它们...Django:处理几个页面参数

任何想法将它们放入列表中,以便它们可以循环处理。

+0

你需要是更具体一点。 'request.GET'是一个类似字典的对象,不管你喜欢,你都可以迭代它。你到底在做什么?显示一些代码。 –

+1

@DanielRoseman,只是对我自己的理解感到好奇......是什么让它“像字典”而不是真正的字典? – rnevius

+1

这是一个[QueryDict](https://docs.djangoproject.com/en/1.8/ref/request-response/#querydict-objects),它是一个自定义的dict子类,可以为单个键启用多个值 - 因此我们在这里得到关于'.get()'和'.getlist()'的常见问题。 –

回答

3

因为,request.GET是一本字典,你可以访问这样的价值观:

for var in request.GET: 
    value = request.GET[var] 
    # do something with the value ... 

或者,如果你想要把值的列表:

val_list = [] 
for var in request.GET: 
    var_list.append(request.GET[var]) 
+0

非常有用。但是每个变种都会像x5,x21等。我可以分开它的索引部分,在另一个变量中有5,21等东西吗? – Ahmad

+0

谢谢。解决方案非常简单。我使用var.replace(“x”,“”)来删除x,然后我使用cast来转换并将其放入一个int变量中。 :) – Ahmad