Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.8K
Vistas
Error de cargador de usuario faltante o request_loader

tengo un problema con el inicio de sesión en el matraz, el cargador de usuario no funciona


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

y cuando intento importar el modelo de usuario en shell:

 AttributeError: 'LoginManager' object has no attribute 'load_user'

Este es mi código:

 -------------------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
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El decorador debe ser

@login_manager.user_loader no load_user

over 4 years ago · Santiago Trujillo Denunciar

0

Puede realizar una ligera modificación en su modelo de user actual. Tal como está actualmente, usted tiene:

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

Considera esto:

  1. Importar LoginManager desde flask_login
 from flask_login import LoginManager login = LoginManager(app)
  1. Actualice su modelo de user de la siguiente manera:
 from flask_login import UserMixin from app import login # the variable from Flask-login @login.user_loader def load_user(id): return User.query.get(int(id)) # slightly modified such that the user is loaded based on the id in the db

El cargador de usuarios está registrado con Flask-Login con el decorador @login.user_loader . La id que Flask-Login pasa a la función como argumento será una cadena, por lo que las bases de datos que usan identificaciones numéricas deben convertir la cadena en un número entero como se ve arriba.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda