Django模板中带空格的dict键

时间:2009-12-15 09:06:31

标签: python django django-templates whitespace

我试图在我的view.py中提供HTML模板中的字典,例如:

test = { 'works': True, 'this fails':False }

并在模板中:

这没有问题:

{{ test.works }}

但是,如“'失败'之类的单词之间有空格的字典键不起作用:

{{ test.this fails }}

我收到此错误:

  

无法解析剩余的' fails'来自'this fails'

我该如何克服这个问题?我不是填充模型的人,因此我无法更改dict的键以删除空格。

3 个答案:

答案 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中的字典访问通常的工作原理。