2
我有一個字典:Django的:模板和遍歷字典
>>> some_dict
{1: ['String1', 'String2', 'String3','String4' ],
2: ['String1_2', 'String2_2', 'String3_2', 'String4_2' ],}
在我的模板,我想遍歷在HTML這個字典和顯示值。所以我發送這個字典從視圖:
return render_to_response('tournament.html',
{.....
'some_dict' : some_dict,
'some_dict_range' : range(4),
.....
})
在tournament.html我試圖迭代some_dict。我想得到應該看起來像這樣的輸出:
'String1', 'String2', 'String3','String4'
{% for iter1 in some_dict_range%}
{{some_dict.0.iter1}}<br>{% endfor %}
因此,我什麼也沒得到。 但是,當我試圖得到同樣的結果沒有迭代器: some_dict.0.0,some_dict.0.1等我得到我需要的東西('String1','String2','String3','String4')。 當我試圖查看「iter1」我得到正確的數字值:
{% for iter1 in some_dict_range%}
{{iter1}}<br> {% endfor %}
0,1,2 ... 爲什麼這不以這種方式工作?如果我在設計上錯了,它應該是什麼樣子?我的意思是 - 迭代這個詞典並在HTML模板中顯示值的正確方法是什麼?
我是對的 - some_dict.0.iter1。當我試圖迭代「some_dict.0.1」,「some_dict.0.2」等 - 我得到我的價值 – Rusty 2012-07-29 11:40:06
如果你訪問some_dict.0.X,你的字典必須有「0」作爲一個關鍵,因爲如果不是,你應該得到一個KeyError引發。你的例子正確嗎? @JonClements是正確的,看看[這個](https://docs.djangoproject.com/en/dev/topics/templates/#variables)如果你不相信我們... – marianobianchi 2012-07-29 13:24:21
是的,這是我的錯誤 - 我有一個關鍵'0',而不是'1'。 Thx to @JonClements,他的解決方案非常完美 – Rusty 2012-07-29 14:15:51