Django 访问dict元素,该元素为';s键以一个@
我已将dict传递到模板,一些元素名称/键以@符号开头,即: {'@id':123,'@name':'Alex'}Django 访问dict元素,该元素为';s键以一个@,django,django-templates,Django,Django Templates,我已将dict传递到模板,一些元素名称/键以@符号开头,即: {'@id':123,'@name':'Alex'} 有没有一种好的/干净的方法可以访问这些元素?自定义模板标记是访问具有特殊字符的字典键的唯一方法。这个问题的答案提供了一个很好的例子 对于懒惰的人: from django import template register = template.Library() @register.filter def dictKeyLookup(the_dict, key): # Tr
有没有一种好的/干净的方法可以访问这些元素?自定义模板标记是访问具有特殊字符的字典键的唯一方法。这个问题的答案提供了一个很好的例子 对于懒惰的人:
from django import template
register = template.Library()
@register.filter
def dictKeyLookup(the_dict, key):
# Try to fetch from the dict, and if it's not found return an empty string.
return the_dict.get(key, '')
您会这样使用它:
{% dictKeyLookup your_dict "@blarg!#$^&*" %}
作为家庭作业,您还可以将其转换为一个简单的过滤器,这将为您提供如下语法:
{{ your_dict|getkey:"@blarg!@#$%" }}
谢谢老实说,我也期待着这么多,但我对django太陌生了,我不确定这是否只是我错过了一些语法。我已经实现了一个过滤器,看起来仍然相当整洁。哦,过滤器不应该是
{{dict|getkey:“name”}
?而不是{%…%}
。