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') #验证一下看是否正确

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM