Skip to main content
 首页 » 编程设计

python之嵌套字典中的 Django 模板

2024年11月01日34kenshinobiy

我正在使用 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 %} 

但它不起作用。

感谢您的帮助。

请您参考如下方法:

使用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'}