Ich verwende eine Jinja2 Vorlage, um Informationen zu einem Bericht zu rendern. Ich erstelle eine Tabelle, die die max, total, avg_size und avg_rate für bestimmte Arten von Ereignissen zeigt, die auf dem System auftreten.Ordering Wörterbuch Werte auf Jinja2 Vorlage
Mein Code erstellt nach jeweils 6 Einträgen eine neue Zeile und druckt Daten, die korrekt aussehen. Bei genauerer Betrachtung werden die Daten jedoch nicht in der richtigen Reihenfolge gedruckt, da ich 'if' Anweisungen verwende.
Gibt es weg ich key2=='max_count'
immer die erste machen können, ist es Wert zu drucken, dann key2 == 'total'
und etc.
Die Reihenfolge Ich möchte:
max_count, total, avg_size, avg_rate
Hier ist der Teil meines Codes das Problem verursacht :
{% for key2, value2 in max_min_data[key].iteritems() %}
{% if count == 6 %}
</tr>
<tr>
{% set count = 0 %}
{% endif %}
{% if key2 == 'max_count'%}
<td style="text-align: center; width:3.1in;">{{ '{0:,}'.format(value2['max']) }}</td>
{% endif %}
{% if key2 == 'total'%}
<td style="text-align: center; width:3.1in;">{{'{0:,}'.format(value2['max'])}}</td>
{% endif %}
{% if key2 == 'avg_size'%}
<td style="text-align: center; width:3.1in;">{{'{0:,}'.format(value2['max'])}}</td>
{% endif %}
{% if key2 == 'avg_rate'%}
<td style="text-align: center; width:3.1in;">{{'{0:,}'.format(value2['max'])}}</td>
{% endif %}
{% set count = count + 1 %}
{% endfor %}
Beispiel Wörterbuch ich Schleifen:
{
'Event1': {
'avg_rate': {'max': 11004, 'min': 0},
'avg_size': {'max': 219, 'min': 218},
'total': {'max': 107743, 'min': 103354},
'max_count': {'max': 103756, 'min': 103094}
},
'Event2': {
'avg_rate': {'max': 558, 'min': 0},
'avg_size': {'max': 321, 'min': 319},
'total': {'max': 11029, 'min': 10046},
'max_count': {'max': 17724, 'min': 17585}
},
'Event3': {
'avg_rate': {'max': 1824, 'min': 0},
'avg_size': {'max': 363, 'min': 360},
'total': {'max': 48737, 'min': 46529},
'max_count': {'max': 47094, 'min': 46711}
}
}
können Sie auch die Daten schreiben Sie Schleifen über? –
@NilsWerner Ich habe ein Beispiel für das Wörterbuch, das ich durchschlinge, geschrieben – Catherine
Das nächste Mal formatieren Sie bitte auch das Diktat, damit Leute es lesen können (tat das für Sie). Sie scheinen zwei Schleifen zu verwenden, um das Diktat zu durchlaufen. Können Sie mehr Kontext und die gewünschte Ausgabe posten? –