我在python中有一个list of dictionary
,即
listofobs = [{'timestamp': datetime.datetime(2012, 7, 6, 12, 39, 52), 'ip': u'1.4.128.0', 'user': u'lovestone'}, {'timestamp': datetime.datetime(2012, 7, 6, 12, 40, 32), 'ip': u'192.168.21.45', 'user': u'b'}]
我想在Django模板中使用listofobs
变量的所有键和值。例如:
第一次迭代:
timestamp = 7 july 2012, 12:39 Am
ip = 1.4.128.0
user = lovestone
和第二次迭代:
timestamp = 7 july 2012, 12:40 Am
ip = 192.168.21.45
user = b
依旧......
答案 0 :(得分:9)
for a in listofobs:
print str( a['timestamp'] ), a['ip'], a['user']
将遍历dict列表,然后在模板中使用它们,只需将其包装在所需的django语法中,这与常规python非常相似。
答案 1 :(得分:3)
Django模板语法允许您遍历一个dicts列表:
{% for obj in listofobjs %}
timestamp = {{ obj.timestamp }}
ip = {{ obj.ip }}
user = {{ obj.user }}
{% endfor %}
您需要确保listofobjs在您的上下文中进行渲染。
答案 2 :(得分:2)
查看built in for
template tag的示例。
循环项目(你的外环):
{% for obj in listofobjs %}
{# do something with obj (just print it for now) #}
{{ obj }}
{% endfor %}
然后循环遍历字典对象中的项目:
{% for key, value in obj.items %}
{{ key }}: {{ value }}
{% endfor %}