Python-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 }}
以上是 Python-Django模板如何使用变量查找字典值 的全部内容, 来源链接: utcz.com/qa/420842.html