【问题标题】:Dynamically access request.GET in Django template在 Django 模板中动态访问 request.GET
【发布时间】:2016-06-18 00:00:30
【问题描述】:

我正在尝试动态访问 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,它会起作用

有什么想法吗?

【问题讨论】:

    标签: python django django-templates


    【解决方案1】:

    由于request.GET 是一个字典,您应该在循环中使用request.GET.items (docs)。

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

    【讨论】:

      【解决方案2】:

      我也遇到了同样的问题,但还有一个额外的挑战,那就是让多个值具有相同的键。

      网址:?id=1&id=2&id=3&id=4

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

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

      【讨论】:

        猜你喜欢
        • 2013-12-21
        • 2017-04-19
        • 1970-01-01
        • 2018-10-05
        • 2011-10-04
        • 2012-09-06
        • 2016-01-17
        • 2012-07-17
        • 1970-01-01
        相关资源
        最近更新 更多