我遇到了一个奇怪的问题: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,但它无效。可能是什么问题?
答案 0 :(得分:0)
我并不是一个有实力的人。但是使用self.session = sessions.Session()
,您可以创建一个新会话。这将是空的。因此,您的支票if 'accountKey' in ...
将无效。必须有另一种方式来获得现有会话。
答案 1 :(得分:0)
我找到了另一种使用gae-sessions解决问题的方法。检查here。