我知道flask.session
可用于存储session['key'] = value
的会话数据,但我不确定在使用Flask-Login时是否可以执行此操作。我的应用程序是一个购物车,我想确保购物车移动到登录用户,如果他们首先添加一些匿名用户。我还想在用户注销时清除会话。我怎么能这样做?
答案 0 :(得分:1)
Flask-Login无法更改您使用会话的方式。你仍然像往常一样使用会话。
from flask import session
session['my_key'] = my_value # add value
del session['my_key'] # remove value
session.clear() # remove everything
会话可能会在登录后保持不变。如果您发现它没有,您可以在登录,登录期间复制会话,然后恢复数据。
@app.route('/login', methods=['GET', 'POST'])
def login():
old_session = session.copy()
...
login_user(user)
session.update(old_session)
...
您可以在注销端点中清除会话。如果用户没有注销,只是关闭浏览器,则无法清除会话,您只需依赖它即将到期。
@app.route('/logout')
def logout():
logout_user()
session.clear()
...