-1

Flask 不断吐出这个错误:

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

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

错误

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)
4

2 回答 2

1

似乎下面的行与错误消失有关。

app.config['SESSION_PERMANENT'] = True

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

更新:

在烧瓶会话 Github 上发现了这个问题。似乎它与数据库会话到期列为空有关。

于 2021-10-27T06:55:11.370 回答
1

诡异的

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

于 2021-08-13T00:56:13.870 回答