From 03bcc43af1ad9f5213a9d8ed96692095c334cc45 Mon Sep 17 00:00:00 2001 From: Harry Hughes <hugheshi@cardiff.ac.uk> Date: Sun, 29 Jan 2023 14:55:29 +0000 Subject: [PATCH] Replace models.py --- blog/models.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/blog/models.py b/blog/models.py index 9c1fc7a..9ad119f 100644 --- a/blog/models.py +++ b/blog/models.py @@ -16,13 +16,25 @@ class Post(db.Model): class User(UserMixin,db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(15), unique=True, nullable=False) - password=db.Column(db.String(128)) + password_hash=db.Column(db.String(128)) post = db.relationship('Post', backref='user', lazy=True) is_admin=db.Column(db.Boolean,nullable=False,default=False) email=db.Column(db.String(256), unique=True) def __repr__(self): return f"User('{self.username}')" + + #adapted from Grinberg(2014, 2018) + @property + def password(self): + raise AttributeError('Password is not readable.') + + @password.setter + def password(self,password): + self.password_hash=generate_password_hash(password) + + def verify_password(self,password): + return check_password_hash(self.password_hash,password) class Portfolio(db.Model): id = db.Column(db.Integer, primary_key=True) @@ -33,17 +45,7 @@ class Portfolio(db.Model): technologies = db.Column(db.String(255)) link = db.Column(db.String(255)) -#adapted from Grinberg(2014, 2018) - @property - def password(self): - raise AttributeError('Password is not readable.') - @password.setter - def password(self,password): - self.password=generate_password_hash(password) - - def verify_password(self,password): - return check_password_hash(self.password,password) @login_manager.user_loader def load_user(user_id): -- GitLab