gaeutilities'会话适用于SDK,但不适用于Google应用引擎?

时间:2012-12-28 13:51:39

标签: google-app-engine session

我遇到了一个奇怪的问题:gaeutilities会话在GAE SDK上运行,但在实际的Google App Engine平台上却没有。以下是分别使用Python进行会话创建和存在检查。

会话创建:

self.session = sessions.Session()
self.session.delete_item('account')
self.session.delete_item('accountKey')
...
query = db.Query(model.Member)
query = query.filter('account =', account)  # 'account' is the user account
results = query.fetch(limit=1)
if results:  # Account exists
    member = results[0]
    self.session['account'] = account   
    self.session['accountKey'] = member.key()
...

会话存在检查:

self.session = sessions.Session()
if 'accountKey' in self.session:  # Session exists
    account = self.session['account']  # Could this be the problem?
...

以上程序在GAE SDK上运行正常。但是我将程序上传到Google App Engine,但它无效。可能是什么问题?

2 个答案:

答案 0 :(得分:0)

我并不是一个有实力的人。但是使用self.session = sessions.Session(),您可以创建一个新会话。这将是空的。因此,您的支票if 'accountKey' in ...将无效。必须有另一种方式来获得现有会话。

答案 1 :(得分:0)

我找到了另一种使用gae-sessions解决问题的方法。检查here