使用flask-login实现登陆功能

使用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'

猜你喜欢

转载自www.cnblogs.com/xudalin/p/9156039.html