Django将dict渲染为html页面

时间:2015-04-17 09:31:33

标签: python html django

我有一本字典

a = {'name': u'45445454',
     'tracks': [{'A_TITLE': u'abb',
             'IS': u'144',
             'PN': u'3',
             'T_TITLE': u'123'},
            {'A_TITLE': u'abb',
             'IS': u'45454454',
             'PN': u'3',
             'T_TITLE': u'225'},
            {'A_TITLE': u'ggg',
             'IS': u'232',
             'PN': u'000',
             'T_TITLE': u'555'}]}

我想将此dict重新编写到我的html页面。

我的HTML代码无效。

<table>
<tr>
{% for e in tracks %}
<td> e['IS']</td>
<td> e['PN']</td>
....
.,..
 {% endfor %}
<tr>
</table>

上面的代码会抛出错误。

我已将此更改为

<table>

{% for e in tracks %}
<tr> <td> Title </td> <td> {{ e.A_TITLE }}  -  PN {{ e.PN }}</td>
<tr> <td> tc </td><td> {{e.T_TITLE }} - ISRC {{e.IS }} </td></tr>
   {% endfor %}

</table>

现在它运行良好,你看到A_Title和PN键依赖的字典。

我希望这个在html页面中呈现,如。

<tr> <td> abb - 3 </td>
     <td> 123 - 144</td>
     <td> 225 - 45454454</td>
</tr>
<tr> <td> ggg - 000</td>
     <td> 555 - 232</td>

</tr>

或以这种格式

<tr> <td> abb - 3 </td></tr>
<tr>         <td> 123 - 144</td>
         <td> 225 - 45454454</td>
    </tr>
    <tr> <td> ggg - 000</td></tr>
<tr>         <td> 555 - 232</td>

    </tr>

3 个答案:

答案 0 :(得分:2)

您必须在Django模板中使用e.IS

答案 1 :(得分:2)

Django模板不使用Python,但它是一种特殊语言,其中像e['IS']这样的结构不起作用。对于此特定实例,只需使用{{e.IS}}替换字段的值。

有关该语言的完整文档,请参阅https://docs.djangoproject.com/en/1.8/ref/templates/language/

答案 2 :(得分:0)

loop

内使用以下内容
<td>{{ e.IS }}</td>
<td>{{ e.PN }}</td>