在页面重新加载时出现关键错误

时间:2016-05-20 22:25:34

标签: python flask

所以我有一个问题,因为我刷新页面的任何时候我都会收到一个Key Error,它在第一次重新加载页面时效果很好但第二次失败。

这是粗略的结构:

def myAPICall()

    response = myclient.REST(URL)

    data = response.json()

    return data


@app.route('/index', methods=['GET'])
def passData():
    data = myAPICall()

    for x in data:
        make some changes to the dictionary

    return (render_template('index.html', data=data))

刷新页面后,我会对“数据”中的某个键进行操作。字典。

如果我重新启动服务器它将正常工作,但下次刷新KeyError时将再次出现。

任何想法都会受到高度赞赏,我一直试图解决这个问题。

错误讯息:

[ d2['id'] for d2 in data if d2['asset_id'] == d1['id'] ]

KeyError: 'id'

1 个答案:

答案 0 :(得分:0)

根据您的错误消息,我假设data包含对象列表。现在,并非所有这些对象都具有键id。因此,不要直接在d1d2中查找,而是使用d2.get('id', 'alternate_default_value')

现在,如果您想知道为什么缺少密钥,您需要提供更多详细信息,即您要提取的数据类型等。