我在Django 2.2上,试图通过HTML模板中的数组进行解析。但由于某种原因,只显示数组的最后一个元素。
这里是mydata,我们可以看出状态是str:的数组
QueryDict: {'managername': ['blabla'], 'plant': ['FR'], 'status': ['a', 'b', 'c']}
这存储在我通过上下文传递的一个变量中:
context = {
'data': mydata
}
return HttpResponse(template.render(context, whatever))
在HTML模板中,我这样做:
<label> {{ data.status }} </label>
当我进入HTML时,以下是显示的
c
是否缺少一些技巧来获得整个数组,而不仅仅是最后一个元素?
QueryDict
是如何实现下标的:
QueryDict.__getitem__(key)
返回给定键的值如果密钥有多个值,则返回最后一个值。Raises
django.utils.datastructures.MultiValueDictKeyError
(如果钥匙有(不存在。(这是Python标准KeyError
的一个子类,因此您可以坚持抓KeyError
。(
您可以在视图中调用.getlist()
[Django-doc]:
context = {
'data': mydata,
'statuses': mydata.getlist('status')
}
return HttpResponse(template.render(context, whatever))
并且在模板中使用:
<label> {{statuses}} </label>