我正在尝试在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>

最佳答案

这可以使用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>

10-07 19:11