重置Flask中cookie的到期时间

J-b*_*bob 12 python session flask

我正在使用Python Web框架Flask.我在我的应用中使用会话.对于我的应用程序调用main,我已经获得了设置main.permanent_session_lifetime = timedelta(days=5),因此用户将在登录后保持登录状态5天.但即使是活跃用户也将在5天后注销.我希望每次访问网站时都会重置过期时间,因此只有在5天不活动后才能注销.大多数网站以这种方式工作 我如何使用Flask做到这一点?

Pao*_*llo 19

您可以使用@before_request处理程序在每个请求中将会话更新到客户端.

请尝试以下方法:

@app.before_request
def func():
  session.modified = True
Run Code Online (Sandbox Code Playgroud)

  • @zengr这是一个烧瓶问题,因为它说它是"Flask基于cookie的会话管理的替代品".它完全没有完成它的工作.发布错误报告.一种解决方法可能是调用`.regenerate()`方法. (2认同)

GBr*_*ian 5

应该足够了:

from datetime import timedelta

# User will be logout after this time of inactivity
PERMANENT_SESSION_LIFETIME = timedelta(minutes=30)
SESSION_REFRESH_EACH_REQUEST = True
Run Code Online (Sandbox Code Playgroud)

https://flask.palletsprojects.com/en/1.1.x/config/