我有以下“示例”字典
myDict = {obj1:{key_a1:value_a1, key_a2:value_a2, key_a3:value_a3} ,
obj2:{key_b1:value_b1, key_b2:value_b2, key_b3:value_b3} ,
obj3:{key_c1:value_c1, key_c2:value_c2, key_c3:value_c3} }
obj是一些类对象。
如果我只想迭代属于关键字obj2的值,如何在模板中执行该操作会怎么样?
我试过
{% for node,manyResults in myDict[obj2].items %}
//Error: Could not parse the remainder: '[obj2].items' from 'dict[obj2].items'
和
{% for node,manyResults in myDict[obj2] %}
//Error: Could not parse the remainder: '[obj2]' from 'dict[obj2]'
和
{% for node,manyResults in myDict.obj2.items %}
//OR
{% for node,manyResults in myDict.obj2 %}
//Both no error, but the values don't appear
有没有办法做到这一点?
答案 0 :(得分:0)
我认为有一种方法可以用Django模板做到这一点,并且你应该像我在评论中所说的那样做,我将在这里重写 - 通过一些编辑 - 总结一下这个问题
-
也许你只是让事情复杂化。如果你需要这3个dicts,我会将它们separetelly添加到我的上下文dict并在模板中独立使用'。
你也可以像我说的那样迭代它们:
{% for key, item in myDict.items %}
{% for innerkey, inneritem in item.items %}
...
另外,如果'objX'是字符串,那么你的最后一个例子就可以了,因为django模板可以映射它。否则,它根本就不会在其命名空间中找到标识符(如您所知)。
希望它有所帮助。