【问题标题】:Enabling Beaker SessionMiddleware through Bottle on Google App Engine在 Google App Engine 上通过 Bottle 启用 Beaker SessionMiddleware
【发布时间】:2014-08-06 22:18:00
【问题描述】:

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

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

【问题讨论】:

  • app = beaker.middl.. 还不够吗?它需要运行吗?
  • @GianniDiNoia 是的,我很确定这只会为 app 分配我想要运行的对象。

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


【解决方案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)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-30
    • 2015-10-15
    • 2017-08-28
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    相关资源
    最近更新 更多