【发布时间】:2017-03-10 01:38:36
【问题描述】:
我正在通过烧瓶将以下列表传递给 Jinja2 模板:
yrs = [2016, 2017]
months = [['June'], ['January', 'February']]
names = [[['John', 'Mike']], [['Sara'], ['Steph', 'James']]]
我正在尝试制作一个如下所示的表格:https://jsfiddle.net/46qqfef5/4/
这是我为实现这一目标而整理的不成功的 Jinja2 代码:
<div class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>Year</th>
<th>Month</th>
<th>Name</th>
</tr>
</thead>
<tbody>
{% for yr_index in range(yrs | count) %}
{% for month_index in range(months[yr_index] | count) %}
{% for name_index in range(names[yr_index][month_index] | count) %}
<tr>
{% if loop.first %}
{% if loop.first %}
<td rowspan="{{ names[yr_index] | count }}">{{ yrs[yrs_index] }}</td>
{% endif %}
<td rowspan="{{ names[yr_index][month_index] | count }}">{{ months[yr_index][month_index] }}</td>
{% endif %}
<td>{{ names[yr_index][month_index][name_index] }}</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</table>
<div>
所以我基本上只是想将这些列表解压缩到一个有组织的表格中,但我在使用 rowspan 属性时遇到了很多麻烦。任何提示都将不胜感激,即使它与更改 python 列表的结构有关。
【问题讨论】: