Sortieren dict in jinja2 Schleife
Ich bin immer noch lernen, jinja2 und Fläschchen, und ich habe eine Schwierigkeit mit dictsort in jinja2.
So, ich bin vorbei mit diesem dict in ein jinja2 template:
{'PEDD United': {'id': 37828, 'rank': 12, 'totalpts': 307},'Fc Mbonabushia': {'id': 205633, 'rank': 6, 'totalpts': 356},'FC Slurp': {'id': 933573, 'rank': 11, 'totalpts': 312},'KFC_Overijse': {'id': 38861, 'rank': 5, 'totalpts': 362},'Fc Paris': {'id': 1538051, 'rank': 2, 'totalpts': 396}}
Was ich möchte, ist das erstellen einer Tabelle, sortiert nach dem Wert des Schlüssels 'totalpts'. Ich habe versucht, alle Art von Sachen und es funktioniert einfach nicht nehmen totalpts berücksichtigt werden, wenn die "Sortierung".
Hier ist einer meiner code:
<table class="table table-bordered">
{% for team in league %}
<tr>
<td>{{team}}</td>
{% for data in league[team]|dictsort(league[team]['totalpts']) %}
<td>{{ league[team]['totalpts'] }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
durch Sie Sortieren nicht alles, was in diesem Fall... drucken Sie Einfach den Wert in der Tabelle ohne jede Ordnung...
Jemand kann mir helfen?
Dank
InformationsquelleAutor der Frage Syl | 2012-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Art und Weise Sie dies tun, wird nicht funktionieren, denn sobald Sie das
{% for team in league %}
bist du schon mit dem unsortierten dict und das extrahieren der Schlüssel-Wert-paar aus.Ich denke
|dictsort
möglicherweise nicht in der Lage sein, um Ihnen zu helfen in diesem Fall, weil Sie nicht Sortieren, indem Sie entweder Schlüssel oder Wert, aber der Wert ist (sub-dict-s) - Wert für "totalpts'.Statt, Sie Sortieren soll dieses Wörterbuch vor übergabe an die Vorlage, in der folgenden Weise:
Sortieren der dict, wir konvertieren es in eine Liste von Tupeln (Schlüssel ,Wert) mit
.items()
. Angenommen, x ist ein solches Tupel, x[1] enthält das Wörterbuch mit der 'totalpts' - Taste.So, jetzt Sortieren wir die Tupel mit
x[1]['totalpts']
mitreverse=True
für eine abnehmende Reihenfolge.Eine dict an sich kann nicht sortiert werden, es wird eine ungeordnete Daten geben - Sie können entweder ein
OrderedDict
oder Sie können einfach mit Tupeln:InformationsquelleAutor der Antwort Anuj Gupta
Könnte man es Sortieren, um eine geordnete Liste mit
sortiert
:InformationsquelleAutor der Antwort Andy Hayden