Flask 中 @property 和@password.setter 的运用
Posted dyd520
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘) #验证一下看是否正确
以上是关于Flask 中 @property 和@password.setter 的运用的主要内容,如果未能解决你的问题,请参考以下文章
如何将一个端口从 Elastic Beanstalk 映射到我的 Flask 应用程序的 Docker 容器?
mysql密码错误-ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passw