当前位置:  开发笔记 > 编程语言 > 正文

Flask永久会话:在哪里定义它们?

如何解决《Flask永久会话:在哪里定义它们?》经验,为你挑选了1个好方法。

默认情况下,Flask使用volatile会话,这意味着会话cookie设置为在浏览器关闭时过期.为了使用永久会话,这将使用具有已定义的到期日期的cookie,应该设置session.permanent = True,如本问题中所述.,将根据以下内容设置到期日期config['PERMANENT_SESSION_LIFETIME'].

我很惊讶会话生存期在配置文件中定义,但是无法通过配置请求使用永久会话,例如a config['USE_PERMANENT_SESSION'] = True.但就是这样吧.

我的问题是:如果你确实想要永久性会议,那么定义它们的最佳位置是什么?它是否@app.before_request在上述问题中提出的功能中?但是这意味着每次请求都会重新设置它?似乎一旦确定,session.permanent直到会议结束时仍然如此.

永久会话通常在登录后使用,因此请求处理时最好的地方是处理login_user()?那么对所有匿名页面使用易失性会话cookie的最佳策略是什么,并通过session.permanent = True登录切换到永久会话?

人们可能希望根据它是普通的sessioncookie还是remember_mecookie 来设置不同的生命周期.实现这一目标的最佳方法是什么?



1> 小智..:

我很惊讶没有回答这个问题.似乎应该有某种类型的配置变量SESSION_PERMANENT = True.但不幸的是没有.正如您所说,这是最好的方法.

@app.before_request
def make_session_permanent():
    session.permanent = True

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有