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

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

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

{% 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失败。如何解决?

回答:

编写自定义模板过滤器:

from django.template.defaulttags import register

...

@register.filter

def get_item(dictionary, key):

return dictionary.get(key)

(我.get这样使用,如果不存在该键,则不返回任何键。如果执行dictionary[key]此操作,则将引发一个KeyErrorthen。)

用法:

{{ mydict|get_item:item.NAME }}

以上是 Django模板如何使用变量查找字典值 的全部内容, 来源链接: utcz.com/qa/415852.html

回到顶部