2017-08-05 18 views
0

我有字典的列表的字典在我view.py
如何得到一本字典的在Django模板中的鍵值

... 
data = {'item':[{'key1':'value' ,'key2':'value2' ,'key3':'value3'}]} 
... 
在我的模板

我想要得到的關鍵價值item dictionry,
我可以得到item字典中的元素。
但我怎樣才能讓我的項目dictionary元素的鍵值在for循環中我的模板
這樣的:

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

'item'不是字典,它是一個列表 – schwobaseggl

回答

3

假設data是傳遞給模板的情況下,得到這樣的鑰匙

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

d是因爲item本身是一個list字典中。剩下的只是循環播放dict.items

+0

它只是返回我的列表中的0元素的鍵值的第一個元素,但我想擁有所有元素。 – Parsa

+0

這隻返回列表中的0元素,但我希望列表中的所有元素都被打印出來。我應該這樣做嗎?! @schwobaseggl – Parsa

+0

那麼,只是迭代'項目'中的字典,併爲他們每個人做同樣的 – schwobaseggl

1

您可以使用標準的Python keys方法只是訪問鍵:

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

或者你可以得到兩個按鍵,並使用標準的Python items方法的值:

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

這兩種方法都不適用於我。我試過它,但不會工作:( – Parsa

+0

哦,你是相當的對,我誤讀了你的帖子,我已經更新了答案。 – seddonym

+0

非常感謝你的回答,祝你好運 – Parsa

相關問題