2017-02-23 1 views
0

Ich benutze Python/Django Ansichten, die eine Ausgabe zu erhalten:Django Vorlagen json Schleifen

{{ test }} 

in meiner Vorlage. Hier ist die Ausgabe

{'platform': 'xbox', 'amount': '50.00', 'title': 'title of something', 'description': 'description of something'} 

Wenn ich

{% for x in test %} 
{{ x }} 
{% endfor %} 

es gibt

platform, amount, title, description 

Wie kann ich die Werte bekommen und nicht die Schlüssel?

Antwort

1

Dies ist nur Standard-Python-Iteration über ein Wörterbuch, das standardmäßig über die Schlüssel iteriert. Wenn Sie nur die Werte wünschen, verwenden Sie {% for x in test.values %}. Wenn Sie Schlüssel/Wert-Paare wünschen, verwenden Sie {% for k, v in test.items %}.

+0

Wow, das war genau das, was ich gesucht habe !! Wenn ich dann ein anderes Array habe, das so verschachtelt ist (['master', {'foo': 'test', 'bar' {'key', {'anotherkey': 'value'}} wie würde ich das durchgehen) ? – Dorian

+0

Ich werde eine andere Frage auf diese Weise stellen Ich kann wirklich erklären, was ich meine. Vielen Dank. Meine Verwirrung kam von denken, dass "Elemente" ein tatsächlicher Wert und kein Bezeichner war, um Python zu sagen, dass es ein Array oder was nicht – Dorian

+0

Nun, 'items' ist eine Methode für dict-Objekte, die eine iterable der Schlüssel/Wert-Paare im dict zurückgibt. Die Django-Vorlagensyntax erlaubt Punktreferenzen auf keine Argumentmethoden, wie wir hier sehen ein Array –