【发布时间】:2021-02-23 23:43:24
【问题描述】:
我试图在 Django 模板中的表格中显示一些压缩数据,但一直收到此错误:ValueError: Need 3 values to unpack in for loop;得到2。 它包含一个字典和一个列表。 我已经在空闲状态下测试了相同的代码,并且打印效果很好。我究竟做错了什么?提前致谢!
这是我为 Django 所做的:
views.py
labels = [1, 4, 5]
mydic = {'a': ['a','b','c'], 'b':['e','f','g'], 'c':['l','m','n']}
dic_items = mydic.items()
zipped = zip(dic_items, labels)
base.html
<table>
{% for (k, v), l in zipped %}
<tr>
<th>Label{{ l }}</th>
<td>{{ v.0 }}</td>
<td>{{ v.1 }}</td>
<td>{{ v.2 }}</td>
</tr>
{% endfor %}
</table>
在空闲时打印出相同的代码:
a
['a', 'b', 'c']
1
b
['e', 'f', 'g']
4
c
['l', 'm', 'n']
5
我也试过了:
{% for k, v, l in zipped %};
{% for k, v in dic_items %}{% for l in labels %};
{% for k,v in dic_items, for l in labels %}, etc.
它们都不起作用。
我怀疑这可能与标签不包含与 v 相同数量的项目有关?但它与字典中的键数量相同。 所以我的目标是为每一行添加一个标签,理想情况下是这样的:
标签 1 |一个 |乙 | c
标签 4 |电子| f | g
标签 5 | l |米 | n
有没有办法做到这一点?
【问题讨论】:
标签: python django html-table