使用变量访问Django模板中的字典元素

时间:2014-08-12 14:16:57

标签: python django

情况如下。我们渲染一个视图。

return render(request, 'test.html', {'db_object': db_object, 'dict': dict }

在模板中,我们现在想要使用db_object.key访问字典。在python中,你通常会dict[db_object.key]。在模板中,您可以{{ dict.some_key }}来访问该值。但在以下情况下,您显然无法{{ dict.db_object.key }}

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:2)

之前已经介绍过,我找到的最佳解决方案是create a quick custom filter。如果链接失效,这里是代码(我没有写,但提供参考):

@register.filter 
def get_item(dictionary, key): return dictionary.get(key)

在模板中:

{{ dict|get_item:object.key }}

当然,请确保在模板标记上调用load,以便渲染器可以看到它们。