Django 模板中带空格的字典键
我想在我的 view.py 中把一个字典展示到 HTML 模板里,像这样:
test = { 'works': True, 'this fails':False }
然后在模板里:
这样做没有问题:
{{ test.works }}
但是,如果字典的键中有空格,比如 'this fails',就会出问题:
{{ test.this fails }}
我收到了这个错误:
无法解析剩余部分:
' fails'
来自'this fails'
我该如何解决这个问题呢?因为我不是在填充模型,所以我不能改变字典键的空格。
3 个回答
-4
我觉得这看起来不太对。你能做以下这些吗?
{{ test['works'] }}
{{ test['this fails'] }}
这就是在Python中访问字典的常见方式。
2
我不知道在Django中有没有标准的解决方案。我觉得可以通过一个模板过滤器来实现。
你可能会对这篇文章感兴趣:http://push.cx/2007/django-template-tag-for-dictionary-access(作者提到的是模板标签,但实际上它是一个模板过滤器)
希望这对你有帮助。
18
你想要的过滤器大概是这样的:
@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