python - 缺少 userloader 或 request_loader 错误

标签 python flask flask-login

我有一个 flask 登录问题,用户加载程序不工作

Exception: Missing user_loader or request_loader. Refer to http://flask-login.readthedocs.io/#how-it-works for more info.


当我尝试在 shell 中导入用户模型时:
AttributeError: 'LoginManager' object has no attribute 'load_user'

这是我的代码:
-------------------app/__init__.py----------------

from app.config import Config
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_login import LoginManager


#create app
app = Flask(__name__)
app.config.from_object(Config)

#init pckages
db = SQLAlchemy(app)
login_manager = LoginManager(app)

#import Blueprints
from app.blueprints.user.routes import user
from app.blueprints.dashboard.routes import dashboard

#register Blueprints
app.register_blueprint(user)
app.register_blueprint(dashboard)

------------------------------app.py-------------------------------
from app import app

if __name__ == "__main__":

    app.run(debug=True)
------------------------------user model------------------------------------
from app import db, login_manager
from flask_login import UserMixin


@login_manager.load_user
def load_user(user):
    return User.get(user)


class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(20), unique=True, nullable=False)
    avatar = db.Column(db.String(50), default="default.jpg")
    password = db.Column(db.String(60), nullable=False)


    def __repr__(self):
        return self.username

最佳答案

装饰器应该是
@login_manager.user_loader不是 load_user

关于python - 缺少 userloader 或 request_loader 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61541835/

相关文章:

python - 重定向到登录页面而不是在未登录时显示禁止消息

python - Flask-login current_user 只返回 ID

python - 更改 Pickled 对象的功能

python - 使用 Flask 上传多个文件

php - 从连接到 MySQL 的 php 调用 python 脚本

python - 使用带有 gunicorn 的flask_apscheduler

javascript - Flask Ajax 执行前返回多个状态

python - 如何使用 WTForms 制作具有唯一 id 的多个复选框,以便可以将其存储在架子上?

python - 如何使用 Flask Request 将 GET 参数传递给 url

python - 训练自定义 NER 模型