在Django模板中动态访问request.GET

时间:2016-03-04 09:52:06

标签: python django django-templates

我正在尝试动态访问 Django 模板中的GET参数,但它无效。

网址:?id=1&name=John

我尝试过这样的事情:

{% for r in request.GET %}
    {% if request.GET.r %}
        {{r}} = {{request.GET.r}}
    {% endif %}
{% endfor %}

问题在于,即使设置了参数,模板中也不会返回任何内容。

如果我request.GET.idrequest.GET.name

,它会有效

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

由于request.GET是字典,您应该在循环中使用request.GET.itemsdocs)。

{% for key, value in request.GET.items %}
    {{key}} = {{value}}
{% endfor %}

答案 1 :(得分:0)

我遇到了同样的问题,但是还面临着另一个挑战,即使用同一个键具有多个值。

URL:?id=1&id=2&id=3&id=4

在这种情况下,我使用了以下内容:

{%for key, values in request.GET.lists%}
    {%for value in values%}
        {{value}}  
    {%endfor%}
{%endfor%}