发生这种情况的原因是Django模板语言执行变量查找的方式。当您尝试遍历字典项时,
{% for key, value in /confirm/ilist.items %}Django首先为进行字典查找
/confirm/ilist['items']。由于是
defaultdict,因此返回一个空列表。
这也是一个残酷的陷阱,我也被刺痛了!
要变通解决此问题,请将您的defaultdict转换为字典,然后再将其添加到模板上下文中。
context['/confirm/ilist'] = dict(/confirm/i_list)
或者,正如sebastien
trottier在他对类似问题的回答中所解释的那样,设置
default_factory为
None在添加到模板上下文之前。
/confirm/i_list.default_factory = Nonecontext['/confirm/ilist'] = /confirm/i_list


![我的defaultdict(list)将不会显示在模板上,但会在我的视图中显示[重复] 我的defaultdict(list)将不会显示在模板上,但会在我的视图中显示[重复]](http://www.mshxw.com/aiimages/31/648178.png)
