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

2024-05-13 23:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: namein模板for字典buffertrtd
2条回答

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

如果我答对了您的问题,您需要编写自己的自定义django template filter如下所示:

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

然后用这个在你的html中:

{{ dato|getparam:propiedad }}

相关问题 更多 >