在models.py中,写入如下代码
from flask_shop import db
from werkzeug.security import generate_password_hash, check_password_hash
class User(db.Model):
__tablename__ = 't_user'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32), unique=True, nullable=False)
pwd = db.Column(db.String(128))
nick_name = db.Column(db.String(32))
phone = db.Column(db.String(11))
email = db.Column(db.String(32))
# 当用户访问时会通过这个传出pwd
@property
def password(self):
return self.pwd
# 加密密码,用户输入的密码会先传入这进行加密
@password.setter
def password(self, t_pwd):
self.pwd = generate_password_hash(t_pwd)
# 校验密码,会将数据库中密码解密然后比对用户输入的密码
def check_pwd(self, t_pwd):
return check_password_hash(self.pwd, t_pwd)