5

我有一个list of dictionaryin 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'}]

我想listofobs在 Django 模板中使用变量的所有键和值。例如:

对于第一次迭代:

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

等等 ..

4

3 回答 3

9
for a in listofobs:
    print str( a['timestamp'] ), a['ip'], a['user']

将遍历 dict 的列表,然后在模板中使用它们,只需将其包装在所需的 django 语法中,这与常规 python 非常相似。

于 2012-07-06T23:33:34.967 回答
3

Django 模板语法允许你遍历一个字典列表:

{% for obj in listofobjs %}
    timestamp = {{ obj.timestamp }}
    ip = {{ obj.ip }}
    user = {{ obj.user }}
{% endfor %}

您需要做的就是确保 listofobjs 在您的渲染上下文中。

于 2012-07-06T23:44:48.187 回答
2

查看内置for模板标签的示例。

循环项目(你的外循环):

{% for obj in listofobjs %}
    {# do something with obj (just print it for now) #}
    {{ obj }}
{% endfor %}

然后遍历字典对象中的项目:

{% for key, value in obj.items %}
    {{ key }}: {{ value }}
{% endfor %}
于 2012-07-06T23:45:32.450 回答