Django 模板如何使用变量查找字典值

2023-11-22

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

在 Django 模板中查找字典值的常规方法是{{ mydict.key1 }}, {{ mydict.key2 }}。如果键是循环变量怎么办? IE:

{% for item in list %} # where item has an attribute NAME
  {{ mydict.item.NAME }} # I want to look up mydict[item.NAME]
{% endfor %}

mydict.item.NAME失败了。如何解决这个问题?


Write a 自定义模板过滤器:

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

(I use .get因此,如果密钥不存在,则不会返回任何内容。如果你这样做dictionary[key]它将提高一个KeyError then.)

usage:

{{ mydict|get_item:item.NAME }}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 模板如何使用变量查找字典值 的相关文章

随机推荐