Source code for app.classes

from flask_login import UserMixin
from werkzeug.security import check_password_hash
from werkzeug.security import generate_password_hash

from app import db, login_manager


[docs]class User(db.Model, UserMixin): """Class to store user information""" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True, nullable=False) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(80), unique=True, nullable=False) password_hash = db.Column(db.String(120), nullable=False) def __init__(self, name, username, email, password): self.name = name self.username = username self.email = email self.set_password(password)
[docs] def set_password(self, password): self.password_hash = generate_password_hash(password)
[docs] def check_password(self, password): return check_password_hash(self.password_hash, password)
db.create_all() db.session.commit() # user_loader : # This callback is used to reload the user object # from the user ID stored in the session.
[docs]@login_manager.user_loader def load_user(id): """Route to load a user from the user database""" return User.query.get(int(id))