1

我在 Django 2.2 上,我试图通过我的 HTML 模板中的一个数组进行解析。但由于某种原因,只显示数组的最后一个元素。

这是mydata,我们可以认为status是一个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

我是否缺少一些技巧来拥有整个数组而不仅仅是最后一个元素?

4

1 回答 1

0

这是QueryDict标的实现方式

QueryDict.__getitem__(key)

返回给定键的值。如果键有多个值,则返回最后一个值django.utils.datastructures.MultiValueDictKeyError如果键不存在则引发 。(这是 Python 标准的子类KeyError,所以你可以坚持 catch KeyError。)

您可以在视图中调用.getlist()[Django-doc]

context = {
    'data': mydata,
    'statuses': mydata.getlist('status')
}
return HttpResponse(template.render(context, whatever))

并在模板中使用:

<label> {{ statuses }} </label>
于 2020-04-10T10:54:48.357 回答