diff --git a/blog/models.py b/blog/models.py index 9c1fc7a315806eca93229e394ce600893d59dcb3..9ad119f7afab8cc0c776bd86aff4f4fd34b90fe4 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):