Python字典转对象后Django模板无法显示子数组D的值报错
问题解决:Django模板无法访问列表元素的错误
错误原因
Django模板语法不支持使用方括号[]来访问列表的索引元素,你写的obj.D[0]不符合模板的语法规则,因此触发解析错误。
解决方案
将模板中的方括号索引改为点号+数字的形式,修改后的模板代码如下:
{{ obj.D.0 }} {{ obj.D.1.F }}
额外优化(非必需)
你代码里的obj=json.loads(json.dumps(dictionnaire))属于冗余操作,原字典本身就是可直接传递给Django模板的可序列化对象,无需经过JSON序列化再反序列化的步骤,直接把原字典传入context即可:
def dictToObject(request): dictionnaire={'A': 1, 'B': {'C': 2},'D': ['E', {'F': 3}],'G':4} context={'obj': dictionnaire} return render(request,'cart/cart_detail.html',context)
内容的提问来源于stack exchange,提问作者Khalifa
相关产品推荐
相关产品推荐

