嵌套字典中的 Django 模板
Posted
技术标签:
【中文标题】嵌套字典中的 Django 模板【英文标题】:Django template in nested dictionary 【发布时间】:2014-03-04 14:02:54 【问题描述】:我正在使用 Django 模板,但遇到了嵌套字典的一个问题。
字典:
result_dict = 'type_0' : 'file_name' : 'abc', 'count' : 0,
'type_1' : 'file_name' : 'xyz', 'count' : 50
我的 html 文件中的模板是:
% for type in result_dict %
type , type.file_name
% endfor %
如何只显示 type_0 和 type_1 的值?
我试过了:
% for key, value in result_dict %
key , value
% endfor %
但它不起作用。
感谢您的帮助。
【问题讨论】:
【参考方案1】:使用dict.items
或dict.values
:
% for key, value in result_dict.items %
value
% endfor %
交互式 shell 中的示例:
>>> result_dict = 'type_0' : 'file_name' : 'abc', 'count' : 0,
... 'type_1' : 'file_name' : 'xyz', 'count' : 50
>>>
>>> t = Template('''
... % for key, value in result_dict.items %
... value
... % endfor %
... ''')
>>> print(t.render(Context('result_dict': result_dict)))
'count': 50, 'file_name': 'xyz'
'count': 0, 'file_name': 'abc'
>>> t = Template('''
... % for key, value in result_dict.items %
... value|safe
... % endfor %
... ''')
>>> print(t.render(Context('result_dict': result_dict)))
'count': 50, 'file_name': 'xyz'
'count': 0, 'file_name': 'abc'
【讨论】:
他如何访问嵌套字典中的值?例如。 value.file_name
?
@RobertGrant,是的。为什么不在 django shell 中进行测试?上面的例子是从 django shell 复制过来的。
对不起,我实际上是在 sopython 聊天室里找其他人 :) 在没有 Python 的笔记本电脑上。悲伤的时光。以上是关于嵌套字典中的 Django 模板的主要内容,如果未能解决你的问题,请参考以下文章