不使用自定义模板标签或数据库查询 - 最好的方法是什么......或任何方式在模板页面中显示以下dict值而不显式调用任何键,直到到达最终级别(名称,职业,有趣的事实):
upcoming_meetings = {
dateOne: {
PersonOne:{
Name:"valueOne",
Profession:"valueTwo",
Fun_Fact:"valueThree"
},
PersonTwo:{
Name:"valueOne",
Profession:"valueTwo",
Fun_Fact:"valueThree"
}
},
dateTwo: {
PersonOne:{
Name:"valueOne",
Profession:"valueTwo",
Fun_Fact:"valueThree"
},
PersonTwo:{
Name:"valueOne",
Profession:"valueTwo",
Fun_Fact:"valueThree"
}
}
}
我已经尝试了以下组合,但只得到了以格式化方式显示的“日期”级别以及显示为未过滤和未格式化的字典值的所有其他值。
{% for date, person in upcoming_meetings.items %}
<h4>{{ date }}</h4>
<p>{{ person }}</p>
{% endfor %}
答案 0 :(得分:2)
{% for date, persons in upcoming_meetings.items %}
<h4>{{ date }}</h4>
<p>{{ persons.PersonOne }}</p>
<p>{{ persons.PersonTwo }}</p>
{% endfor %}
您检索每个日期的值,然后以您想要的方式访问它。您可以执行 <p>{{ persons.PersonOne.Name }}</p>
并且它会起作用。
编辑 在@ChefJulian 评论说他不想显式调用每个键之后,想说编写这种级别的自动化没有意义,但如果您坚持,那就是回答。
{% for date, persons in upcoming_meetings.items %}
<h4>{{ date }}</h4>
{% for k, v in persons.items %}
{% for k, v in v.items %}
<p>{{ k }} : {{ v }}</p>
{% endfor %}
{% endfor %}
{% endfor %}
这适用于每个日期和与之相关的每个人以及与该人相关的每个数据。