我有一个如下所示的字典:
timeTables = {
'today': {'date_start': datetime.now(), 'date_end': None},
'yesterday': {'date_start': (datetime.now() - timedelta(days=1)), 'date_end': None},
'week': {'date_start': (datetime.now() - timedelta(weeks=1)), 'date_end': datetime.now()},
'month': {'date_start': (datetime.now() - timedelta(days=30)), 'date_end': datetime.now()},
}
我想在Django模板中的for循环中输出today
个键字典元素。
我可以通过以下方式在普通Python中完成此任务:
for key, value in timeTables['today'].items():
print key, value
但是同样的事情在Django模板中不起作用。
这样做会出错:
{% for key, value in data['today'].items %}
{{ key }} {{ value }}
{% endfor %}
TemplateSyntaxError at /
Could not parse the remainder: '['today'].items' from 'data['today'].items'
答案 0 :(得分:1)
在Django模板中,您无法使用data['today']
语法来访问词典的值,您需要使用.
(data.today
):
{% for key, value in data.today.items %}
{{ key }} {{ value }}
{% endfor %}
答案 1 :(得分:0)
试试这个: 如果你只想要字典字段只有'今天'然后只需从视图{'数据'数据['今天']}发送数据['今天'],然后将其呈现为:
{% for key, value in data.items %}
{{ key }} {{ value }}
{% endfor %}
如果您想要发送整本词典,
{% for key, value in data.items %}
{% for k,v in value.items %}
{{k}} {{v}}
{% endfor %}
{% endfor %}