当键具有特殊字符时,如何进行 Django 模板字典查找? [复制]
Posted
技术标签:
【中文标题】当键具有特殊字符时,如何进行 Django 模板字典查找? [复制]【英文标题】:How to do a Django Template dictionary lookup when key has special characters? [duplicate] 【发布时间】:2016-10-23 07:51:01 【问题描述】:在 django 文档中它说 . notation 将按以下顺序进行查找
#Dictionary lookup. Example:
foo["bar"]
#Attribute lookup. Example:
foo.bar
#List-index lookup. Example:
foo[bar]
在我的项目中,我有一本字典:
foo = 'ba-r':'...
但是使用 .表示法会导致错误,这似乎是因为整个 'foo.ba-r' 是文档here 中所述的变量。
foo.ba-r
有什么方法可以正确访问我的字典的 'ba-r' 键吗?
【问题讨论】:
你不能使用 foo["ba-r"] 有什么原因吗? How do I access dictionary keys that contain hyphens from within a Django template? 和 dict keys with spaces in Django templates 可能重复 【参考方案1】:正如您已经发现的那样,如果不提出ParseError
,您将无法访问模板中的此类密钥。例如,您可以使用a custom filter:
from django import template
register = template.Library()
@register.filter
def get_key_value(some_dict, key):
return some_dict.get(key, '')
并像使用它
entry | get_key_value:"ba-r"
或者更改您的字典结构,使其不包含此类键!
【讨论】:
以上是关于当键具有特殊字符时,如何进行 Django 模板字典查找? [复制]的主要内容,如果未能解决你的问题,请参考以下文章