0
比方說,我有以下兩個列表:使用行跨度,而迭代
names = ['Josh', 'Brad', 'Jordan']
favorite_colors = [['blue', 'red'], ['purple', 'gold', 'yellow'], ['green', 'pink']]
也就是說,喬什最喜歡的顏色是藍色和紅色,布拉德的是紫色和金等
我m通過燒瓶將這些數據傳遞給jinja2模板,我正在將它們全部扔在桌子上。我想讓桌子看起來像這樣:https://jsfiddle.net/46qqfef5/
正如你所看到的,我使用rowspan
屬性來指定組名和顏色。但是,當我嘗試使用下面的jinja2代碼迭代數據時,<td rowspan="2">
標記出現在每行(並且我需要它僅在第一次出現新名稱時出現)。
的Jinja2:
<div class="table-responsive">
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>Name</th>
<th>Favorite Color</th>
</tr>
</thead>
<tbody>
{% for name_index in range(names | count) %}
{% for color_index in range(favorite_colors[name_index] | count %}
<tr>
<td rowspan="{{ favorite_colors[name_index] | count }}">{{ names[name_index] }}</td>
<td>{{ favorite_colors[name_index][color_index] }}</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</table>
<div
如果我從Jinja2的代碼中刪除rowspan={{ ... }}
上面我得到如下表,但看起來很可怕對我說:https://jsfiddle.net/46qqfef5/3/
我需要一種方法來打印姓名小區只有第一次出現一個新名字。