加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Flask:登录会话太快了

发布时间:2020-12-16 23:00:31 所属栏目:Python 来源:网络整理
导读:在编辑记录时,如果等待几分钟(喝咖啡)然后再回来按下保存(POST),我会被重定向到主页面而不是登录而数据丢失. 似乎烧瓶登录会话过期太快了. 我做了一些研究并遇到了这个问题. from flask import session,appsession.permanent = True 这是正确的方法吗?但即
在编辑记录时,如果等待几分钟(喝咖啡)然后再回来按下保存(POST),我会被重定向到主页面而不是登录而数据丢失.

似乎烧瓶登录会话过期太快了.

我做了一些研究并遇到了这个问题.

from flask import session,app

session.permanent = True

这是正确的方法吗?但即使我尝试这个,我得到这个例外:

File "/Users/kave/workspace/F11A/src/application/__init__.py",line 14,in <module>
    session.permanent = True
  File "/Users/kave/workspace/F11A/src/lib/werkzeug/local.py",line 355,in <lambda>
    __setattr__ = lambda x,n,v: setattr(x._get_current_object(),v)
  File "/Users/kave/workspace/F11A/src/lib/werkzeug/local.py",line 297,in _get_current_object
    return self.__local()
  File "/Users/kave/workspace/F11A/src/lib/flask/globals.py",line 20,in _lookup_req_object
    raise RuntimeError('working outside of request context')
RuntimeError: working outside of request context

解决方法

以防万一其他人会有这个问题.我想Hooman已经得到了答案.

不会工作

views.py

from flask import session
from datetime import timedelta

session.permanent = True
app.permanent_session_lifetime = timedelta(minutes=30)

将工作

from flask import session
from datetime import timedelta

@app.route('/home',methods=['GET','POST'])
def show_work():
    session.permanent = True
    app.permanent_session_lifetime = timedelta(minutes=30)
    form = MyForm(request.form)
    return render_template('home.html',form = form)

会话必须在请求中使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读