gpt4 book ai didi

python - Django 模板迭代 request.GET 中的列表

转载 作者:行者123 更新时间:2023-11-28 22:51:20 24 4
gpt4 key购买 nike

我今天的问题是我必须保留一些在请求中出现在我看来的 url 参数。

考虑以下网址:

http://localhost:8000/some-url/?myargument=hello&myargument=world&myargument=whatever

注意到我 url 中的每个参数都有相同的键(“myargument”)?牢记这一点

在 Django 1.6 中,如果我这样做 {{ request.GET }}在模板中我得到类似的东西:

<QueryDict: {u'myargument': [u'hello', u'world', u'whatever']}>

为了在下一次提交中保留参数,我想遍历 request.GET通过在 <form> 中创建隐藏字段来创建字典有了键值对,我可以用这段代码来完成:

{% for key, value in request.GET.items %}
<input type="hidden" name="{{ key }}" value="{{ value }}">
{% endfor %}

它适用于单个值,但在我的情况下不起作用,因为我有一个列表,其中包含名为“myargument”的键的值。

显然,我尝试的第一件事是通过执行 {% for v in value %} 来迭代值当值是一个列表时,但这只会打印出“值”列表中的最后一项,在本例中为“whatever”。

有人遇到过同样的问题吗?我该如何解决?谢谢

最佳答案

在 View 中:

mydict = dict(request.GET._iterlists())

在模板中发送和迭代:

<p>
{{ mydict }}
</p>

<p>
{% for k,v in mydict.iteritems %}
{{ k }}:{% for x in v %}{{ x }},{% endfor %} <br>
{% endfor %}
</p>

关于python - Django 模板迭代 request.GET 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com