[英]How to iterate over a python dictionary, setting the key of the dictionary as another dictionary's value
[英]Iterate over one key's dictionary in another dictionary in a Django template
我有一本看起来像以下的字典:
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'
在Django模板中,您无法使用data['today']
语法访问字典的值,需要使用.
( data.today
):
{% for key, value in data.today.items %}
{{ key }} {{ value }}
{% endfor %}
尝试以下操作:如果只希望字典字段仅带有'today'键,则只需从视图{'data':data ['today']}发送data ['today'],然后将其呈现为:
{% 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 %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.