如何在python中迭代字典列表?
我有一个python的如何在python中迭代字典列表?,python,django,django-templates,python-2.7,Python,Django,Django Templates,Python 2.7,我有一个python的字典列表,即 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模板中使用listofob
字典列表
,即
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
等等
for a in listofobs:
print str( a['timestamp'] ), a['ip'], a['user']
将迭代dict的列表,然后在模板中使用它们,只需使用所需的django语法将其包装,这与常规python非常相似。django模板语法允许您循环dict列表:
{% for obj in listofobjs %}
timestamp = {{ obj.timestamp }}
ip = {{ obj.ip }}
user = {{ obj.user }}
{% endfor %}
您所需要做的就是确保listofobjs在您的上下文中进行渲染。请查看示例以了解渲染 在项目上循环(外部循环): 然后在dictionary对象中的项目上循环:
{% for key, value in obj.items %}
{{ key }}: {{ value }}
{% endfor %}
{% for key, value in obj.items %}
{{ key }}: {{ value }}
{% endfor %}