首页 > 后端开发 > Python教程 > 如何在 Django 模板中使用循环变量作为键来访问字典值?

如何在 Django 模板中使用循环变量作为键来访问字典值?

DDD
发布: 2024-12-02 21:26:12
原创
478 人浏览过

How to Access Dictionary Values Using Loop Variables as Keys in Django Templates?

Django 模板变量字典值查找

在 Django 模板中,使用语法 {{ mydict.key1 }} 或 {{ mydict.key2 } 访问字典值非常简单}。然而,当将循环变量作为字典键处理时,传统方法会失败。

考虑以下场景:

mydict = {"key1":"value1", "key2":"value2"}

{% for item in list %}
  {{ mydict.item.NAME }}  # This fails
{% endfor %}
登录后复制

在上面的代码中,item.NAME 作为循环变量属性名称。但是,mydict.item.NAME 无法提供所需的结果。

为了克服这一挑战,可以创建自定义模板过滤器:

from django.template.defaulttags import register
...
@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)
登录后复制

get_item 过滤器利用 .get () 方法检索与指定键关联的值。这确保了如果键不存在,它会返回 None 而不是引发 KeyError。

要使用过滤器,请修改模板代码如下:

{{ mydict|get_item:item.NAME }}
登录后复制

以上是如何在 Django 模板中使用循环变量作为键来访问字典值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板