0

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)

これら 2 つの辞書と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'}]

コードに何か問題がありますか?

4

1 に答える 1

4

print ステートメントを見ると、2 つの要素を持つ 1 つの辞書ではなく、2 つの辞書を持つリストがあります。したがって、ipv4_sub_net.items は有効ではありません。

これを行うと、次のように表示されます。

for v in ipv4_sub_net:
    print v
于 2012-05-28T15:52:57.847 に答える