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(使用前将#替换为@)