2015-12-02 55 views
0

的名单上有多个GET PARAMS一个url(同名) - mycompany.com/?a=1&a=2Django模板 - 获得多个GET PARAM

当我在Django模板做:

{{ request.GET }} 

我得到:

<QueryDict: {'a': ['1', '2']}> 

当我在Django模板:

{{ request.GET.a }} 

我得到:

2 

当我尝试循环:

{% for a in request.GET.a %} 
    {{ a }} 
{% endfor %} 

我得到:

2 

如何使行为多GET PARAMS在Django模板列表?谢谢!

回答

-1

模板滤波器:

from django import template 

register = template.Library() 

@register.filter 
def get_item(dictionary, key): 
    return dict(dictionary).get(key) 

模板:

{{ request.GET|get_item:'a' }} 
+0

这是如何回答的问题? – xyres

+0

@xyres,有什么不对?只需使用模板过滤器来使QueryDict的行为像一个正常的字典。 – MaxCore

0

模板滤波器:

from django import template 

register = template.Library() 

@register.filter 
def get_list(dictionary, key): 
    return dictionary.getlist(key) 

Templates:

{% for a in request.GET|get_list:'a' %} 
    {{ a }} 
{% endfor %}