烧瓶会话丢失数据 [英] Flask session lost data
本文介绍了烧瓶会话丢失数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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?
谢谢, 瓦尔丹
推荐答案
请考虑以下内容:
- 这是最重要的一点,要使烧瓶会话正常工作,您需要配置一个
SECRET_KEY
,如下所示:
- 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'
- 我不知道,我只是想知道您不需要以下行,并且它是相应的导入(当我注释掉这一部分时,它对我来说开始起作用,可能是Flask-Session和Flask的内置会话是彼此搞砸了):
Session(app)
from flask_session import Session
- 不要直接更新会话,如果它是一个数组,请执行以下操作:
note = request.form.get("note")
temp = session['notes']
temp.append(note)
session['notes'] = temp
我希望,它将为您工作.
I hope, it will work for you.
这篇关于烧瓶会话丢失数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文