在django表中使用多个for标签

时间:2014-05-29 18:48:27

标签: python django django-templates

我是Django的新手,我正在开发一个项目,我将项目附加到多个列表,并希望将它们显示在表格中。我正在使用for标签,因为每个列表中都有相当多的项目。但是,当我运行我的代码时,列表中的第一个项目反复重复,然后第二个项目反复重复,依此类推。我有一种感觉,因为我使用了多个标签。继承我的代码:

<table>
{% for x in result.netIncomeAr %}
{% for y in result.d2 %}    
<tr>    
    <td>{{ x }}</td>
    <td>{{ y }}</td>
</tr>
{% endfor %}
{% endfor %}
</table>

我出错的任何想法?感谢。

1 个答案:

答案 0 :(得分:2)

内部循环应该使用外部循环变量:

{% for x in result.netIncomeAr %}
    {% for y in x.d2 %} 

UPD(查看result变量后):

您需要更改传递到模板中的result变量,使用zip()加入两个列表:

result = zip(df['Date'], df['Net Income'])
return render_to_response('ui/search.html', {"result": result},  context)

然后,在模板中以这种方式迭代result

<table>
    {% for x in result %}
    <tr>    
        <td>{{ x.0 }}</td>
        <td>{{ x.1 }}</td>
    </tr>
    {% endfor %}
</table>