5 votes

Comment résoudre ImportError : cannot import name 'LoginManager' from 'flask_login' in Flask ?

J'essaie un tutoriel de https://www.digitalocean.com/community/tutorials/how-to-add-authentication-to-your-app-with-flask-login .

...
from flask_login import LoginManager

def create_app():
    ...
    db.init_app(app)

    login_manager = LoginManager()
    login_manager.login_view = 'auth.login'
    login_manager.init_app(app)

    from .models import User

    @login_manager.user_loader
    def load_user(user_id):
        # since the user_id is just the primary key of our user table, use it in the query for the user
        return User.query.get(int(user_id))   

Cependant, lorsque j'essaie de faire from flask_login import LoginManager J'ai reçu l'erreur suivante ImportError: cannot import name 'LoginManager' from 'flask_login'

Edit : J'ai installé flask_login via pip3 à l'intérieur et à l'extérieur de mon environnement virtuel. Cependant, je n'arrive pas à utiliser quoi que ce soit de flask_login. J'ai essayé 'from flask_login import UserMixin' et j'ai obtenu une erreur similaire. J'ai également vérifié si flask_login était installé en faisant " pip3 list " et Flask-Login se trouve également dans cette liste.

Comment puis-je résoudre ce problème ? Je vous remercie d'avance !

Résolu : J'ai fait une erreur stupide en ne réalisant pas que l'erreur pointait vers des fichiers dans un autre répertoire.

3voto

DevHyperCoder Points 777

Il semble que vous n'ayez pas installé flask-login Si c'est le cas, installez flask-login par pip install flask-login .

Si vous l'avez installé, confirmez que vous avez activé votre environnement virtuel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X