您好我将使用自己的会话对象,我正在尝试使用python应用beaker。你能告诉我如何在谷歌应用引擎上使用它吗?我有以下代码然后我不确定如何继续:
session_opts = {
'session.cookie_expires': True,
'session.type': 'ext:google',
'session.key': 'mykey.beaker.session.id',
}
def main():
logging.getLogger().setLevel(logging.DEBUG)
application = webapp.WSGIApplication([(...
... handlers ],debug=True)
application = SessionMiddleware(application, session_opts)
util.run_wsgi_app(application)
答案 0 :(得分:4)
正如documentation所说:
SessionMiddleware进入后 地方,会话对象 可以在 beaker.session 中找到 WSGI environ。
在Google App Engine中,您可以通过以下方式访问来自WebHandler的烧杯会话dictonary对象:
session = self.request.environ['beaker.session']
会话是Python dictionary,您可以在其中基本上放置数据:
session['somekey'] = 'foo'
或使用以下方式获取数据:
my_var = session['somekey']
一个简单的反例可能是这样的:
class MainPage(webapp.RequestHandler):
def get(self):
session = self.request.environ['beaker.session']
if 'counter' in session:
counter = session['counter'] + 1
session['counter'] = counter
else:
session['counter'] = 1
self.response.out.write('counter: %d' % counter)