字典值不能通过在django模板中使用它们的相应键来迭代

时间:2018-03-04 08:54:16

标签: python django-templates

所以我有一个嵌套字典,其形式如下:

data =  { server:{'rating':{'class':'good, 'desc':'whatever'}, 'vulnerabilities':{'heartbleed':{'severity':'critical', 'desc':'terrible config'}}

我想使用键遍历值,我已经阅读了文档,这就是我在模板中所做的事情:

  {% for key, value in data.items %}
      <p> 'This is the key {{ key }} and this is the value {{value}}'<p>
  {% endfor %}

到目前为止一切顺利,奇怪的是我无法使用for循环检索的密钥获取值,即,当我有这样的模板时:

  {% for key in data.keys %}]
       <p> 'This is the key: {{key}}' </p> 
       <p> 'This is the value: {{ data.key }}'<p>
  {% endfor %}

{{key}}返回密钥没有问题。即使我{{data.server}},我也可以毫无问题地获得相应的值。奇怪的是,这一行{{data.key}}不适用,因为我直觉。

在一个循环中key==server{{data.server}}有效但{{data.key}}没有。我在这里弄错了什么?

1 个答案:

答案 0 :(得分:0)

模板引擎中只有这种动态的方法是使用custom template filter

查看Django template how to look up a dictionary value with a variable的入门实施