在 Django 模板中的另一个字典中迭代一个键的字典
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'
试试这个:
如果你只想要只有 '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 %}
在 Django 模板中,您不能使用 data['today']
语法来访问字典的值,您需要使用 .
(data.today
):
{% for key, value in data.today.items %}
{{ key }} {{ value }}
{% endfor %}
我有一个字典,如下所示:
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'
试试这个: 如果你只想要只有 '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 %}
在 Django 模板中,您不能使用 data['today']
语法来访问字典的值,您需要使用 .
(data.today
):
{% for key, value in data.today.items %}
{{ key }} {{ value }}
{% endfor %}