Flasksession TypeError:'NoneType'和'datetime.datetime'实例之间不支持'<='

2024-09-30 10:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

烧瓶不断地吐出这个错误:

TypeError: '<=' not supported between instances of 'NoneType' and 'datetime.datetime'

显然,flask会话模块正在尝试将会话到期时间与当前时间进行比较。我尝试将会话过期时间设置为一天,以避免其值为零,但它似乎不起作用。如果我们让会话过期为设置值,我认为它可能会解决问题

Error

from flask import Flask
from pymongo import MongoClient
from flask_session import Session
import datetime
from flask_wtf.csrf import CSRFProtect
from dashboard import dashboard
from auth import auth


app = Flask(__name__)
app.config['SECRET_KEY'] = 'xxxxx'
app.config['SESSION_TYPE'] = 'mongodb'
mongo = MongoClient('mongodb+srv://xxxxxxxxx')
app.config['SESSION_MONGODB'] = mongo
app.config['PERMANENT_SESSION_LIFETIME'] =  datetime.timedelta(days=5)
app.config['SESSION_MONGODB_DB'] = 'matjari'
app.config['SESSION_PERMANENT'] = True
Session(app)
csrf = CSRFProtect(app)
matjari = mongo.matjari
mongo_users = matjari['users']

app.register_blueprint(dashboard, url_prefix='/dashboard')
app.register_blueprint(auth, url_prefix='/auth')




@app.route('/')
def index():
    return 'alive'

if __name__ == '__main__':
    app.run(debug=True)

Tags: fromimportauthconfigappflaskdatetimesession
2条回答

Weird

出于某种神奇的原因,这个问题似乎已经自行解决了。我的代码中没有任何更改。如果你有任何解释,请告诉我

下面这一行似乎与错误消失有关

app.config['SESSION_PERMANENT'] = True

如果我确定SESSION_PERMEMNAT = True,它不会给出错误,但不能完全确定可靠性

更新:

在flask会话Github上找到此issue。似乎它与数据库会话到期列为空有关

相关问题 更多 >

    热门问题