使用Python在Google App Engine上玩笑:KeyError?

时间:2013-05-02 03:54:27

标签: google-app-engine

我在Google App Engine上使用gaesessions和Python来处理用户登录会话。以下是我的一些代码:

当用户登录时:

from gaesessions import get_current_session
...

session = get_current_session()
if session.is_active():
    session.terminate()
session['account'] = account
# Do some stuff to log the user in

当用户退出时:

session = get_current_session()
account = session['account']
# Do some stuff to log the user out

上述代码大部分时间都运行良好,除了有时(非常罕见,可能一个月一次)GAE在用户注销错误消息时抱怨语句account = session['account']:{{1我想知道是否有人遇到过同样的问题?

顺便说一下,我还清理了过期的会话,如下所示。有必要吗? (我不知道会话什么时候到期)或者它可能是问题的原因?感谢。

KeyError: 'account'

1 个答案:

答案 0 :(得分:1)

您的session词典没有将account键设置为任何内容。这可能是请求在没有登录的情况下运行您的注销方法。这可能发生在未登录但访问您的注销处理程序的人身上。

EG。用户在未实际登录的情况下请求yourwebsite.com/logout