Django - 从列表列表中创建表

时间:2013-04-24 14:10:50

标签: html django django-templates

我对html中的表格不太满意,所以这个问题可能很容易回答。

我将列表{{ attributes }}列表传递给模板,我想创建一个包含2行和多列的表。

TEMPLATE:

<div id="table">
<table border=0>
{% for attr in attributes %}
    <td>
       <th>{{ attr.0 }}</th>
        {{ attr.1 }}
    </td>
{% endfor %}
</table>
</div>

我希望{{ attr.0 }}成为标题并显示在一行中,{{ attr.1 }}显示在第二行。

2 个答案:

答案 0 :(得分:2)

怎么样

<div id="table">
<table border=0>
<thead>
    <tr>
    {% for attr_head in attributes.keys %}
       <th>{{ attr_head }}</th>
    {% endfor %}
    </tr>
</thead>
<tbody>
    <tr>
    {% for attr in attributes.values %}
        <td>{{ attr }}</td>
    {% endfor %}
    </tr>
</tbody>
</table>
</div>

只需遍历dict的键并将它们呈现为表头中的th元素,然后遍历这些值,将它们呈现在tbody中。 thtd是表格中的列,tr是行。

另外,你应该阅读html tables,它们并不那么难

答案 1 :(得分:1)

你可以循环两次,一次用于内容的标题一次?

<div id="table">
    <table border=0>
        <tr>
            {% for attr in attributes %}  
            <th>{{ attr.0 }}</th>
            {% endfor %}
        </tr>
        <tr>
            {% for attr in attributes %}
                <td>{{ attr.1 }}</td>
            {% endfor %}
        </tr>
    </table>
</div>