【问题标题】:How to use beaker with GAE如何在 GAE 中使用烧杯
【发布时间】:2011-05-09 20:09:31
【问题描述】:

您好,我将使用自己的会话对象,并尝试将烧杯与 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)

【问题讨论】:

    标签: python google-app-engine session beaker


    【解决方案1】:

    正如documentation 所说:

    一旦 SessionMiddleware 在 地方,一个会话对象将被制作 可作为 beaker.session 在 WSGI 环境。

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

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

    会话是Python dictionary,您基本上可以在其中放置数据:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      • 2011-06-29
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多