我正在使用user_loader
函数来获取用于处理会话的用户ID。
但是,当我尝试对各种模型类使用相同的功能时,我遇到了麻烦。
我的代码:
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))
class User(db.Model):
# etc etc
class Client(db.Model):
# etc etc
class SuperUser(db.Model):
# etc etc
我尝试传递一个附加参数:
@login_manager.user_loader
def load_user(model, user_id):
return model.query.get(int(user_id))
并在我的应用文件中:
login_user(Client, client, form.remember_me.data)
不幸的是,这给了我一个错误,说login_user不接受这样的附加参数。很明显,我需要为此实现一个自定义解决方案。令我惊讶的是,“因为我认为我不是唯一一个遇到此问题的人,而Flask并未为此提供内置解决方案。