通过Google App Engine上的Bottle启用Beaker SessionMiddleware

时间:2014-06-17 02:07:40

标签: python google-app-engine wsgi bottle beaker

我正在尝试在基于瓶子的GAE应用程序中使用烧杯进行会话处理。问题是我需要在这里运行“app”作为应用程序

session_opts = {
    'session.type': 'ext:google',
    'session.auto': True,
}

app = beaker.middleware.SessionMiddleware(bottle.app(), session_opts)

然后致电

bottle.run(app=app)

但我不能,因为正如它在示例瓶应用中所说:

# Note: We don't need to call run() since our application is embedded within
# the App Engine WSGI application server.

所以我的问题是如何使用烧杯会话中间件运行服务器?

1 个答案:

答案 0 :(得分:1)

好的,我找到了问题的原因 - 感谢让我想到Gianni。基本上我有

- url: .*
  script: main.bottle

这意味着GAE将我的main.py中的瓶变量视为" app"。所以,当我这样做时:

from bottle import app, route, hook...

session_opts = {
    'session.type': 'ext:google',
    'session.auto': True,
}

bottle = beaker.middleware.SessionMiddleware(app(), session_opts)

这一切都很有效。猜猜我会教我不读应用引擎文档。