from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_login import UserMixin from flask_bcrypt import generate_password_hash, check_password_hash from flask_migrate import Migrate db = SQLAlchemy() migrate = Migrate() def init_app(app): db.init_app(app) migrate.init_app(app, db) class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(128), unique=True, nullable=False) password = db.Column(db.String(128), nullable=False) created_on = db.Column(db.DateTime, index=False, unique=False, nullable=True) last_login = db.Column(db.DateTime, index=False, unique=False, nullable=True) def set_password(self, password): self.password = generate_password_hash(password) def check_password(self, password): return check_password_hash(self.password, password) def __repr__(self): return ''.format(self.username)