我无法在Django-template中获取字典的值。看看views.py
def subnet_network(request, page=None):
ipv4_sub_net , ipv6_sub_net= get_netmask(user=request.user)
extra_context = {
'ipv4_net': ipv4_sub_net,
'ipv6_net': ipv6_sub_net
}
return direct_to_template(request, 'networks/subnet_network.html',
extra_context=extra_context)
获取这两个字典和subnet_network.html
的值。我写了以下代码:
<tbody>
{% for k,v in ipv4_net.items %}
<tr>
<td>
{{ v }}
</td>
</tr>
{% endfor %}
</tbody>
和上面的代码是针对ipv6_net字典的
我使用pdb.set_trace()
检查字典中的值。它打印如下:
(Pdb) print ipv4_sub_net
[{'ipv4_sub_net': u'255.0.0.0'}, {'ipv4_sub_net': u'255.255.255.255'}]
(Pdb) print ipv6_sub_net
[{'ipv6_sub_net': u'/12'}, {'ipv6_sub_net': u'/128'}]
代码有问题吗?
答案 0 :(得分:4)
查看print语句,您有一个包含2个词典的列表,而不是一个包含2个词元的词典。因此ipv4_sub_net.items无效。
如果你这样做,你会看到它:
for v in ipv4_sub_net:
print v