django:我如何用两个for循环制作表格?

时间:2014-10-28 16:34:05

标签: django

我有两列(模型),ColumnLeftColumnRight。要遍历模型以输出表中的行,我使用了for循环。我想把两个列放在同一个表中。

|--------------------------|
|ColumnLeft  |  ColumnRight|
|--------------------------|
|1           |a            |
|2           |b            |
|3           |c            |
|--------------------------|

我所制作的表的html就是这个。

<table>
    <tr>
        <th>ColumnLeft</th>
        <th>ColumnRight</th>
    </tr>
    {% for i in left %} 
    <tr>
    {% for f in right %}  
        <td>{{i}}</td>
        <td>{{f}}</td>
    {% endfor %}
    </tr>
    {% endfor %}
</table>

这就是这样的表:

|--------------------------|--------------------------|--------------------------|
|ColumnLeft  |  ColumnRight|            |             |            |             |
|--------------------------|--------------------------|--------------------------|
|1           |a            |1           |b            |1           |c            |
|2           |a            |2           |b            |2           |c            |
|3           |a            |3           |b            |3           |c            |
|--------------------------|--------------------------|--------------------------|

在我的第一个例子中输出表格的最佳原因是什么

1 个答案:

答案 0 :(得分:1)

您需要在视图中将列压缩在一起:

rows = zip(left, right)

现在在你的模板中:

{% for left, right in rows %} 
  <tr>
    <td>{{ left }}</td>
    <td>{{ right }}</td>
  </tr>
{% endfor %}