我在admin / login.py中的第一个user_loader和user / login.py中的第二个user_loader,但是当我使用user / login.py时,调用了admin / login中的user_loader; 像这样的错误:enter image description here
也许在其他地方发生了一些问题,但是is_authenticated的值是True。我猜我用错误的方式使用了user_load。 救命!提前谢谢。
答案 0 :(得分:0)
我在烧瓶中使用了2个LoginManagers,一个用作用户,另一个用作管理员,但我发现只有一个工作,所以我重写login_required参考这个anwser
我的用户模型就是这样。
class User(UserMixin):
def __init__(self, username, role):
self.username = username
self.id = self.get_id()
self.urole = role
@property
def password(self):
raise AttributeError('password is not a readable attribute')
@password.setter
def password(self, password):
self.password_hash = generate_password_hash(password)
admin_collection.insert_one({'username':self.username,'password':self.password_hash,'id':self.id})
def verify_password(self, password):
password_hash = self.get_password_hash()
if password_hash is None:
return False
return check_password_hash(password_hash, password)
def get_password_hash(self):
pswd = admin_collection.find_one({'username':self.username})
return pswd['password'] if pswd else None
def get_id(self):
find_id = admin_collection.find_one({'username':self.username})
return find_id['id']
def get_role(self):
return self.urole