Flask 中 @property 和@password.setter 的运用
在models.py 文件中 User用户表中
# 禁止读取密码 @property def password(self): # 原理:读取返回参数 # return self.password_hash # 实际不可读 raise AttributeError('password 是不可读属性') # 设置密码 @password.setter def set_password(self, password): self.password_hash = generate_password_hash(password) # 验证密码是否正确 def verify_password(self, password): return check_password_hash(self.password_hash, password)
@property 主要是让password字段无法直接读取
@password.setter 修改用户的password 字段 (修改密码)
修改密码
在python Console 中
>>>from app.models import * >>>users=User.query.all() >>>user1=users[0] #找到你小修改的那个用户对象 >>>user1.set_password='123456' #要修改的密码 >>>user1.verify_password('123456') #验证一下看是否正确