在使用beaker会话时,我遇到了在整个应用程序中使用相同的会话对象。
我来了这个网址:Bottle.py session with Beaker
但是,当我试图通过另一个函数访问一个函数中的保存会话值时,我仍然得到'KeyError'。
我的rest.py文件如下:
import bottle
from bottle import route,default_app
from beaker.middleware import SessionMiddleware
app = bottle.default_app()
@bottle.hook('before_request')
def setup_request():
request.session = request.environ['beaker.session']
@app.route('/login')
def login():
request.session['uname'] = 'user'
@app.route('/logout')
def logout():
print request.session['uname']
# expecting to print user
session_opts = {
'session.type': 'file',
'session.data_dir': '/tmp/',
'session.cookie_expires': True,
}
app = SessionMiddleware(bottle.default_app(),session_opts)
我在最后提到了SessionMiddleware,因为我在这个链接的帮助下出错了https://groups.google.com/forum/#!topic/bottlepy/m0akSbWRpZg
但是当我在登出功能中访问request.session时,我正在
'KeyError': Uname not found
任何人都可以给出明确的示例,说明如何调整代码以便在整个应用程序中维护相同的会话。