2

嗨,我将使用自己的会话对象,并尝试将烧杯与 python 一起应用。你能告诉我如何将它与谷歌应用引擎一起使用吗?我有以下代码,然后我不确定如何继续:

    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)
4

1 回答 1

4

正如文档所说:

一旦 SessionMiddleware 就位,会话对象将在 WSGI 环境中作为beaker.session可用。

在 Google App Engine 中,您可以通过以下方式从 WebHandler 访问烧杯会话字典对象:

session = self.request.environ['beaker.session']

session 是一个Python 字典,您基本上可以在其中放置数据:

session['somekey'] = 'foo'

或使用以下方式获取数据:

my_var = session['somekey']

一个简单的 Counter 示例如下所示:

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)
于 2011-05-09T12:09:31.477 回答