我有几个问题让django模板化循环标记来浏览这个词典:
它肯定会被传递到页面,好像我只是这样做:
{% for event in events %}
{{ event }}
{% endfor %}
它写了1,2,3但是当我尝试做{{event.start}}时它只是输出任何东西......
evs = {
"1": {
'start': '8:00:00',
'end': '9:00:00',
'name': 'test',
'description': 'test',
'image_url': 'http://test',
'channel_url': 'http://test',
},
"2": {
'start': '8:00:00',
'end': '9:00:00',
'name': 'test',
'description': 'test',
'image_url': 'http://test',
'channel_url': 'http://test',
},
"3": {
'start': '8:00:00',
'end': '9:00:00',
'name': 'test',
'description': 'test',
'image_url': 'http://test',
'channel_url': 'http://test',
}
}
这是我在模板中的django代码:
{% for event in events %}
{{ event.end }}
{{ event.name }}
{{ event.description }}
{{ event.image_url }}
{{ event.channel_url }}
{% endfor %}
任何帮助都会非常感激!
由于
答案 0 :(得分:6)
如果你只是迭代events
,你只是在迭代dictonary的键;你需要迭代字典的值:{% for event in events.values %}
!
答案 1 :(得分:5)
嗯,在你的情况下,event
始终是一个条目(它是一个字符串)的关键,而不是对象本身,所以event.start
无法工作。
查看documentation。你可以这样做:
{% for key, event in events.items %}
{{ event.end }}
{{ event.name }}
{{ event.description }}
{{ event.image_url }}
{{ event.channel_url }}
{% endfor %}