2014-06-17 23 views
1

我正尝试在基于瓶子的GAE应用中使用烧杯进行会话处理。问题是,我需要运行“程序”这里的应用通过谷歌应用引擎启用Beber SessionMiddleware

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

'app = beaker.middl..'还不够?它需要运行? –

+0

@GianniDiNoia是的,我很确定这只是分配应用程序与我想运行的对象。 – Rested

回答

1

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

- url: .* 
    script: main.bottle 

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

from bottle import app, route, hook... 

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

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

这一切工作的一种享受。猜猜这会教我不读足够的应用程序引擎文档。