0

を使用して、django python シェルで辞書に問題なくアクセスできますp['cover']['source']。ドット表記を使用してテンプレートの「ソース」にアクセスすることもできます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)
4

1 に答える 1

0

一部のユーザーは表紙の写真を持っていない可能性がありKeyError、辞書にアクセスするときにエラーが発生します。エラーを防ぐには、try/except ブロックを使用します。

try:
    image = p['cover']['source']
except KeyError:
    pass  # or other alternative for those without cover picture
于 2013-08-23T23:26:32.847 に答える