1

我正在尝试在基于瓶子的 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.

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

4

1 回答 1

1

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

- url: .*
  script: main.bottle

这意味着 GAE 将 main.py 中的 bottle 变量视为“应用程序”。所以当我这样做时:

from bottle import app, route, hook...

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

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

这一切都奏效了。猜猜这会教我没有足够阅读应用程序引擎文档。

于 2014-06-17T12:25:58.977 回答