1

我遇到了一个奇怪的问题: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,但它不起作用。可能是什么问题?

4

2 回答 2

0

我不熟悉gaeutilities。但是与self.session = sessions.Session()您创建一个新会话。这将是空的。所以你的支票if 'accountKey' in ...将不起作用。必须有另一种方法来获取现有会话。

于 2012-12-28T14:04:01.917 回答
0

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

于 2013-01-09T03:24:19.300 回答