2013-09-24 66 views
0

我有一本字典遍歷,我印在我的網頁,並得到這個:Django模板 - 如何迭代和訪問字典?

dict = { 
    u'256': <itertools._grouper object at 0x8361d0e90>, 
    u'59': <itertools._grouper object at 0x83607c110>, 
    u'59': <itertools._grouper object at 0x83607c050>, 
    u'1975555': <itertools._grouper object at 0x8361bc490>, 
    u'91': <itertools._grouper object at 0x836162110> 
} 

我如何可以訪問字典此對象的值是多少? 這裏是我曾嘗試:

{% for code, codelist in dict.items %} 
    {% for innerlists in codelist %} 
     // Here I want to display the values in the dict's object 
    {% endfor %} 
{% endfor %} 
+0

你能展示你的字典在視圖中是怎麼看的? – Ander2

+0

在你的視圖中,對你的字典的值做一個'list()'。 –

+0

您不應該重新定義'dict'關鍵字 – Paco

回答

0
{% for item in dict%} 
//do stuff 
{% endfor %} 

應該工作,除非你dict有要遍歷嵌套屬性「項」。

1

如果your're用戶itertools.groupby,注意記下docs pages

返回組本身就是共享一個迭代的迭代與GROUPBY底層()。由於源是共享的,因此當groupby()對象高級時,以前的組不再可見。所以,如果以後需要這些數據,它應該被存儲爲列表

groups = [] 
uniquekeys = [] 
data = sorted(data, key=keyfunc) 
for k, g in groupby(data, keyfunc): 
    groups.append(list(g))  # Store group iterator as a list 
    uniquekeys.append(k) 

(加粗加)

不要使用dict爲varname的,和創建該字典時,將_grouper的值轉換爲list。你的模板沒有什麼問題。