Django,在模板中创建变量并分配值

时间:2015-06-17 11:13:29

标签: python django templates

我正在尝试在Django中创建一个模板。在那个模板中我有: dato包含类似此{"Name":"Someone","Age":"23"}propiedad的字典,其中包含类似{"parameterName":"Name"}的字典。我可以{{propiedad.parameterName}}并获取值Name。之后,我想将该值存储在buffer(直到现在才存在),以便稍后{{dato.buffer}}获取Someone,我将在HTML中显示。我不知道怎么做,有人能帮助我吗?

代码片段:

 <tbody>
       {% for dato in atributo.datos %}
       <tr>
          {% for propiedad in atributo.propiedades %}
          <td>
            {# I would make the stuff here#}
            {{ dato.buffer}}
          </td>
          {% endfor %}
       </tr>
       {% endfor %}
 </tbody>

2 个答案:

答案 0 :(得分:1)

如果我的问题正确无误,您需要编写自己的自定义django template filter

from django.template.defaulttags import register
...
@register.filter
def getparam(dictionary, key):
    return dictionary.get(key)

并使用它在你的html中获取它:

{{ dato|getparam:propiedad }}

答案 1 :(得分:0)

这可以使用django过滤器来实现。但我们必须编写自己的自定义过滤器。

将其包含在视图文件中

from django.template.defaulttags import register

@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

在html文件中,您可以添加以下行。我们正在将dictionarykey传递给get_item过滤器,该过滤器会返回密钥的value

 <td>{{ dato|get_item:propiedad }}</td>