我们可以在 __init__.py 中设置两个 LoginManger() 实例吗

Can we set Two LoginManger() instance in __init__.py

我是 Flask 框架的初学者

我需要知道,如果我有多种类型的用户,例如学生和老师,并且我在同一个 models.py 文件中进行所有操作,那么我是否必须在init.py 喜欢 student_login_manager=LoginManager() 也喜欢 teacher_login_manger?

student_login_manager.init_app(app)
student_login_manager.login_view('login_student')

teacher_login_manager.init_app(app)
teacher_login_manager.login_view('login_teacher')

如果没有,那么有没有其他方法可以做到这一点

您将在工厂函数中使用单个 login_manager 对象,但将 login_view 更新为单个用户:

login_manager.init_app(app)

# View function handling the login logic for student
login_manager.login_view = 'login_student' 

# View function handling the login logic for teacher
login_manager.login_view = 'login_teacher'