diff --git a/applications/models/admin_user.py b/applications/models/admin_user.py index e8e278f6055a60042fe328cc84b25ef9cf122196..d0151e490a2ddc09b23005cd04a9a39e7daa8595 100644 --- a/applications/models/admin_user.py +++ b/applications/models/admin_user.py @@ -18,8 +18,14 @@ class User(db.Model, UserMixin): update_at = db.Column(db.DateTime, default=datetime.datetime.now, onupdate=datetime.datetime.now, comment='创建时间') role = db.relationship('Role', secondary="admin_user_role", backref=db.backref('user'), lazy='dynamic') - def set_password(self, password): - self.password_hash = generate_password_hash(password) + @property + def password(self): + raise AttributeError('这个属性值只能设置') + + # 使用这个装饰器,对应属性操作 + @password.setter + def password(self, value): + self.password_hash = generate_password_hash(value) def validate_password(self, password): return check_password_hash(self.password_hash, password) diff --git a/applications/view/admin/user.py b/applications/view/admin/user.py index 925af09bfec9116e4768bf47e47f438950d3e885..77c27dd0d38a3d5f2d928a71b7ce64452a25f860 100644 --- a/applications/view/admin/user.py +++ b/applications/view/admin/user.py @@ -71,7 +71,7 @@ def save(): if bool(User.query.filter_by(username=username).count()): return fail_api(msg="用户已经存在") user = User(username=username, realname=real_name) - user.set_password(password) + user.password = password db.session.add(user) roles = Role.query.filter(Role.id.in_(role_ids)).all() for r in roles: @@ -189,7 +189,7 @@ def edit_password_put(): is_right = user.validate_password(res_json.get("oldPassword")) if not is_right: return fail_api("旧密码错误") - user.set_password(res_json.get("newPassword")) + user.password = res_json.get("newPassword") db.session.add(user) db.session.commit() return success_api("更改成功")