2016-10-22 5 views
1

Ich habe Setup die folgende Liste von Listen bis hin zu meiner Jinja Vorlage übergeben wird:eine Liste aus, um in Jinja Zugriff

[(u'2nd Principle', 1, 1, 3, 33, 1, 100), (u'Test Principle', 1, 2, 6, 33, 1, 100)]

Und so weit Anzeigen dieses in einer Tabelle Mir Handhabung wie folgt:

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

Dies funktioniert perfekt beim Ausdrucken jeder der Listen als eine Zeile. Ich habe jedoch versucht, mit derselben Liste in einer anderen Ansicht zu arbeiten, in der ich einen Artikel weniger und in einer anderen Reihenfolge anzeigen möchte.

jedoch folgendes scheint nicht für mich zu arbeiten:

<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> 

Die oben führt den folgenden Fehler:

Could not parse the remainder: '[6]' from 'p[6]'

Wie greife ich auf Listenelemente direkt ohne den Umweg über das Looping?

+0

Gezielt in diesem Fall weggelassen. – NickP

Antwort

2

Sie scheinen Jinja überhaupt nicht zu benutzen. Obwohl Jinja jetzt eine Option in Django ist, wird standardmäßig die integrierte Vorlagensprache verwendet, und das scheint das zu sein, was Sie verwenden. In dieser Syntax werden alle Lookups mit Punktnotation getan:

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

usw.

+0

Das ist super aufschlussreich. Die ganze Zeit nahm ich an, dass dies Jinja war. – NickP

Verwandte Themen