我在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'
答案 0 :(得分:1)
您的session
词典没有将account
键设置为任何内容。这可能是请求在没有登录的情况下运行您的注销方法。这可能发生在未登录但访问您的注销处理程序的人身上。
EG。用户在未实际登录的情况下请求yourwebsite.com/logout
。