2017-08-05 1 views
0

i ein Wörterbuch der Liste Wörterbuch
wie den Schlüsselwert eines Wörterbuchs in django Vorlage bekommen

... 
data = {'item':[{'key1':'value' ,'key2':'value2' ,'key3':'value3'}]} 
... 

in meiner Vorlage in meinem view.py habe ich den Wert des Schlüssels von dem erhalten möge item dictionary,
Ich kann die Elemente in der item Wörterbuch erhalten.
aber wie kann ich den Schlüsselwert der Elemente meiner Artikel Wörterbuch in einer for-Schleife in meiner Vorlage
wie diese:

{% for items in item %} 
    <li>{{item|first}}</li> 
{% endfor %} 
+0

'item' ist kein Wörterbuch, es ist eine Liste – schwobaseggl

Antwort

3

Unter der Annahme, dass data ist der Kontext, Sie zu Ihrer Vorlage passieren, erhalten die Schlüssel wie

{% for d in item %} # item is list of dicts 
    {% for key, value in d.items %} 
    <li>{{ key }}</li> 
    {% endfor %} 
{% endfor %} 

d ist das Wörterbuch, da item selbst ein list ist. Der Rest ist nur Looping über dict.items.

+0

Es gibt nur das erste Element des Schlüsselwerts des Elements 0 meiner Liste zurück, aber ich möchte alle Elemente haben. – Parsa

+0

dies gibt nur das Element 0 in der Liste zurück, aber ich möchte, dass alle Elemente in meiner Liste gedruckt werden. Wie soll ich das tun ?! @schwobaseggl – Parsa

+0

Nun, iterieren Sie einfach über die dicts in 'item' und machen Sie das gleiche für jeden von ihnen – schwobaseggl

1

Sie können nur die Schlüssel Zugriff auf die Standard-Python keys Methode:

{% for dict in item %} 
    {% for key in dict.keys %} 
     <li>{{ key }}</li> 
    {% endfor %} 
{% endfor %} 

Alternativ können Sie sowohl die Schlüssel und die Werte der Standard-Python items Methode:

{% for dict in item %} 
    {% for key, value in dict.items %} 
     <li>{{ key }}: {{ value }}</li> 
    {% endfor %} 
{% endfor %} 
+0

beide Methoden funktionieren nicht für mich.Ich habe es versucht, aber wird nicht funktionieren :( – Parsa

+0

Oh du bist ziemlich Richtig, ich habe deinen Beitrag falsch gelesen. Ich habe die Antwort aktualisiert. – seddonym

+0

Vielen Dank für Ihre Antwort, viel Glück – Parsa

Verwandte Themen