如何在瓶子里使用钩子?
https://pypi.python.org/pypi/bottle-session/0.4
我正在尝试使用瓶钩实现会话插件。
@bottle.route('/loginpage')
def loginpage():
return '''
<form action="/login" method="post">
Username: <input name="username" type="text" />
Password: <input name="password" type="password" />
<input value="Login" type="submit" />
</form>
'''
@bottle.route('/login', method='POST')
def do_login(session, rdb):
username = request.forms.get('username')
password = request.forms.get('password')
session['name'] = username
return session['name']
@bottle.route('/usernot')
def nextPage(session):
return session['name']
以下是我的钩子:
@hook('before_request')
def setup_request():
try:
request.session = session['name']
request.session.cookie_expires = False
response.set_cookie(session['name'], "true")
#request.session.save()
except Exception, e:
print ('setup_request--> ', e)
我无法在钩子中访问会话,是否可以将会话作为参数传递给hook?
答案 0 :(得分:0)
您可以使用
request.get_cookie("bottle.session") #if you haven't changed the default cookie name ...
答案 1 :(得分:0)
如果你使用会话烧杯,那就是瓶子食谱中提到和描述的那个:
http://bottlepy.org/docs/dev/recipes.html
您可以像下面这样以钩子方式访问会话:
http_session = bottle.request.environ.get('beaker.session')
它运作顺畅。你有没有考虑改变它?