“Flask”对象没有属性“session_cookie_name”

Bax*_*x66 4 python linux flask flask-session

在曾经工作的应用程序上初始化时,我不断收到错误“Flask”对象没有属性“session_cookie_name”。

我构建了一个较小的测试应用程序来测试它,并注意到如果删除该行,app.config["SESSION_TYPE"] = "filesystem"错误就会消失。问题是我需要在 Flask 应用程序中使用会话,并且由于它是用于测试,我更愿意使用文件系统来存储会话数据。这是我用于测试的小程序...我不知道我错过了什么,这曾经工作正常,在线代码示例完全按照这种方式执行,但我不断收到相同的错误。

这是我收到的错误

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

app = Flask(__name__)

app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"

Session(app)

@app.route("/")
def index():
    session["test"] = "test"
    return render_template ('index.html')
Run Code Online (Sandbox Code Playgroud)

这以前有效。突然就不行了。我尝试安装不同版本的 Flask_Session。我尝试在 Session(app) 之前将“SESSION_COOKIE_NAME”添加到 app.config 中,尽管我知道它的默认值是会话。到目前为止,没有任何效果或改变了错误消息。

woj*_*tow 5

使用升级的 Flask,您还需要升级的 Flask-session(我注意到您正在使用)

正如您所发现的,Flask >= 2.3.1 删除了这些名称。Flask-session >= 0.4 修复了这个问题。检查您的要求.txt。在我的requirements.txt中,它只有Flask的最低版本(允许它在新版本上升级),但在旧版本上修复了flask-session,因此不匹配破坏了一切。