使用flask-login首先需要让用户model类继承UserMixin,修改models.py
from flask_login import UserMixin class User(Base, UserMixin): ...
继承UserMixin主要是为了使用它提供的is_authenticated property方法判断用户是否为登陆状态
在app.py中创建register_extensions函数专门用于将Flask拓展注册到app。先将db和Migrate移入其中,再初始化flask-login.
from flask_login import LoginManager from simpledu.models import db, User def register_extensions(app): db.init_app(app) Migrate(app, db) login_manager = LoginManager() login_manager.init_app(app) @login_manager.user_loader def user_loader(id): return User.query.get(id) login_manager.login_view = 'front.login'