Skip to content
Snippets Groups Projects
Commit c70048eb authored by Harry Hughes's avatar Harry Hughes
Browse files

Replace models.py

parent 944659e1
No related branches found
No related tags found
No related merge requests found
from datetime import datetime from datetime import datetime
from blog import db, login_manager from blog import db, login_manager
from flask_login import UserMixin from flask_login import UserMixin
import bcrypt
from werkzeug.security import generate_password_hash, check_password_hash from werkzeug.security import generate_password_hash, check_password_hash
class Post(db.Model): class Post(db.Model):
...@@ -20,21 +21,17 @@ class User(UserMixin,db.Model): ...@@ -20,21 +21,17 @@ class User(UserMixin,db.Model):
post = db.relationship('Post', backref='user', lazy=True) post = db.relationship('Post', backref='user', lazy=True)
is_admin=db.Column(db.Boolean,nullable=False,default=False) is_admin=db.Column(db.Boolean,nullable=False,default=False)
email=db.Column(db.String(256), unique=True) email=db.Column(db.String(256), unique=True)
def __repr__(self):
return f"User('{self.username}')"
#adapted from Grinberg(2014, 2018) def set_password(self,password):
@property salt = bcrypt.gensalt()
def password(self): hashed_password = bcrypt.hashpw(password.encode(), salt)
raise AttributeError('Password is not readable.') self.password = hashed_password.decode()
@password.setter def check_password(self,password):
def password(self,password): return bcrypt.checkpw(password.encode(), self.password.encode)
self.password=generate_password_hash(password)
def verify_password(self,password): def __repr__(self):
return check_password_hash(self.password,password) return f"User('{self.username}')"
class Portfolio(db.Model): class Portfolio(db.Model):
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment