情况如下。我们渲染一个视图。
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 }}
有办法做到这一点吗?
之前已经介绍过这个问题,我发现的最好的解决方案是创建快速自定义过滤器 https://stackoverflow.com/questions/8000022/django-template-how-to-lookup-a-dictionary-value-with-a-variable/8000091#8000091。如果该链接失效,这里是代码(我没有编写,但提供作为参考):
@register.filter
def get_item(dictionary, key): return dictionary.get(key)
并在模板中:
{{ dict|get_item:object.key }}
当然,请确保在模板标记上调用 load,以便它们对渲染器可见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)