python - Flask:登录 session 超时太快

标签 python session flask flask-login

在编辑记录时,如果等待很长时间,比如说几分钟(喝咖啡),然后回来按保存 (POST),我将被重定向到主页登录,而数据是迷路了。

似乎 flask-login session 过期太快了。

我做了一些研究并发现了这个。

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(), n, 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 已经得到了答案。

不会工作

View .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)

session 必须在请求中使用。

关于python - Flask:登录 session 超时太快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662558/

相关文章:

python - 在 Python 中查找数组的最低 5 个数字的索引

清除 cookie 时 PHP session 变量消失

python - SQLAlchemy - 处理约束失败

python - 列名称中存在未知字符

python - python中的网络数据包长度

python - Pandas 数据帧 : how to build them efficiently

java - 在 Google App Engine 上启用 session 对性能有何影响?

java - Hibernate 查询访问以前版本的数据对象?

python - Flask-WTForms 如何覆盖单选字段的预验证

python-3.x - 如何备份 Sqlalchemy 数据库?