我想显示记录形式的字典,其中包含列表作为表格格式的值。
我的字典看起来像这样,我正在将这本字典作为{'data':datas}通过view.py文件
enroll_number=[1,2,3]
names = ['tom','mike','john']
total = [80,90,80]
datas={
'id':enroll_number,
'names':names,
'total':avgs,
}
在我的HTML页面中,我的代码是这样的:
<table class="table table-striped">
<tr class="text-center">
<th scope="col">Id</th>
<th scope="col">Name</th>
<th scope="col">Total</th>
</tr>
{% for key, value_list in datas.items %}
<tr>
{% for value in value_list %}
<td>{{value}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
所以我得到这样的输出:
Id Name Total
1 2 3
tom mike john
80 90 80
但是我想要这样的输出
Id Name Total
1 tom 80
2 mike 90
3 john 80
答案 0 :(得分:1)
您将需要在视图中压缩它们并遍历联接列表。
data = zip(enroll_number, names, avgs)
...
{% for row in data %}
<tr>
{% for item in row %}
<td>{{ item }}</td>
{% endfor %}
</tr>
{% endfor %}
答案 1 :(得分:0)
将表数据转换为面向行而不是面向列:
In [2]: [dict(zip(['id', 'names', 'total'], x)) for x in zip(enroll_number, names, total)]
Out[2]:
[{'id': 1, 'names': 'tom', 'total': 80},
{'id': 2, 'names': 'mike', 'total': 90},
{'id': 3, 'names': 'john', 'total': 80}]
然后遍历模板中的行。