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

mydict={“key1”:“value1”,“key2”:“value2”}

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

{%for list%}中的项具有属性名
{{mydict.item.NAME}}我想查找mydict[item.NAME]
{%endfor%}

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

编写自定义模板筛选器:

来自django.template.defaulttags导入寄存器的


...
@寄存器过滤器
def get_项(字典、键):
返回dictionary.get(键)

(我使用.get这样,如果键不存在,它将返回none。如果使用字典[key]它将引发键错误

用法:

{{mydict|get_item:item.NAME}

发表评论