烧瓶会话丢失数据 [英] Flask session lost data

查看:54
本文介绍了烧瓶会话丢失数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

from flask import Flask,render_template,request,session
from flask_session import Session

app = Flask(__name__)

app.config["SESSION_PERMANENT"] = True
app.config["SESSION_TYPE"] = "filesystem"
Session(app)

@app.route("/",methods=["POST","GET"])
def index():
    if session.get("notes") is None:
        session["notes"] = []
    if request.method == "POST":
        note = request.form.get("note")
        session["notes"].append(note)
    return render_template("notes.html",notes=session["notes"])

================================================ =================

================================================================

每当我从表单发布新信息时,它都会覆盖旧信息.似乎会话已重置.

Any time I am posting a new info from form, it gets overwrites the old one. seems session got reset.

知道为什么会发生吗?

Any idea why it happened?

谢谢, 瓦尔丹

推荐答案

请考虑以下内容:

  1. 这是最重要的一点,要使烧瓶会话正常工作,您需要配置一个SECRET_KEY,如下所示:
  1. This is the most important point, for flask session to work, you need to configure a SECRET_KEY, like below:

app.config["SECRET_KEY"] = 'YourSecretKey@123'

  1. 我不知道,我只是想知道您不需要以下行,并且它是相应的导入(当我注释掉这一部分时,它对我来说开始起作用,可能是Flask-Session和Flask的内置会话是彼此搞砸了):

Session(app)

from flask_session import Session

  1. 不要直接更新会话,如果它是一个数组,请执行以下操作:

note = request.form.get("note")
temp = session['notes']
temp.append(note)
session['notes'] = temp

我希望,它将为您工作.

I hope, it will work for you.

这篇关于烧瓶会话丢失数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆