【发布时间】:2013-08-23 22:43:30
【问题描述】:
我可以使用p['cover']['source'] 在我的 django python shell 中正常访问字典。我还可以使用点符号访问模板中的“源”,但是,当我尝试在我的视图中访问 p['cover']['source'] 时,我得到一个 keyError。我可以使用p.get('cover','none') 访问“封面”,但我需要获得p['cover']['source'],但我不知道如何访问它。请帮忙:-)
views.py
image_table = []
for n in likes:
link = n.facebook_id
p = graph.get_object(str(link))
#image = p['cover']['source'] //This returns KeyError
#image = p['cover'][0]['source'] //This returns KeyError = 0
image = p.get('cover','none')//This only returns the first dictionary
image_table.append(image)
【问题讨论】:
-
您无法访问不存在的内容。找出为什么它没有被设置在它应该在的地方。
-
但我的困惑是因为它就在那里。例如,如果我像这样访问 p['cover'] 它会失败,但 p.get('cover','none') 有效。另外,如果我可以从模板访问字典,但不能从视图访问。这对我来说没有意义,所以我很难找到它的设置位置
-
可能不是字典而是类字典对象。
-
如果它有助于从 Facebook GraphAPI 返回的字典。
-
p.get('cover','none')时image的内容是什么?是字典吗?它的键是什么?
标签: python django dictionary