在Jinja中无序访问列表

时间:2016-10-22 10:43:50

标签: python django django-views jinja2

我已将以下列表设置传递到我的Jinja模板:

  

[(第二原则',1,1,3,33,1,100),(u'测试原理',1,2,6,33,1,100 )]

到目前为止,我正在处理如下表所示:

<tbody>
   {% for p in performance %}
     <tr>
        {% for a in p %}<td>{{ a }}</td>{% endfor %}
     </tr>
   {% endfor %}
</tbody>

这可以完美地将每个列表打印成一行。但是,我一直试图在不同的视图中使用相同的列表,我希望以不同的顺序显示一个项目。

但是,以下似乎对我不起作用:

<tbody>
   {% for p in performance %}
     <tr>
         <td>{{ p[6] }}</td>
         <td>{{ p[1] }}</td>
         <td>{{ p[3] }}</td>
         <td>{{ p[2] }}</td>
         <td>{{ p[5] }}</td>
         <td>{{ p[6] }}</td>
     </tr>
  {% endfor %}
</tbody>

以上引发了以下错误:

  

无法解析余数:&#39; [6]&#39;来自&#39; p [6]&#39;

如何在不循环访问列表项的情况下直接访问列表项?

1 个答案:

答案 0 :(得分:2)

你似乎根本没有使用Jinja。虽然Jinja现在是Django的一个选项,但默认是使用内置的模板语言,这似乎就是你正在使用的。在该语法中,所有查找都使用点表示法完成:

 <td>{{ p.6 }}</td>