我试图在我的view.py中提供HTML模板中的字典,例如:
test = { 'works': True, 'this fails':False }
并在模板中:
这没有问题:
{{ test.works }}
但是,如“'失败'之类的单词之间有空格的字典键不起作用:
{{ test.this fails }}
我收到此错误:
无法解析剩余的
' fails'
来自'this fails'
我该如何克服这个问题?我不是填充模型的人,因此我无法更改dict的键以删除空格。
答案 0 :(得分:16)
您想要的过滤器类似于
@register.filter(name='getkey')
def getkey(value, arg):
return value[arg]
与
一起使用{{test|getkey:'this works'}}
来源:http://www.bhphp.com/blog4.php/2009/08/17/django-templates-and-dictionaries
答案 1 :(得分:2)
我不知道Django中的任何标准解决方案。我认为使用模板过滤器是可能的。
您可能对本文http://push.cx/2007/django-template-tag-for-dictionary-access感兴趣(作者使用的是模板标记术语,但实际上它是模板过滤器)
我希望它有所帮助
答案 2 :(得分:-4)
这对我来说不合适。你能做到以下几点吗?
{{ test['works'] }}
{{ test['this fails'] }}
这就是python中的字典访问通常的工作原理。