A simple flask app with web interface
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

37 lines
1004 B

from datetime import datetime, timedelta
import os
from werkzeug.security import generate_password_hash, check_password_hash
from app import db
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
password_hash = db.Column(db.String(128))
last_seen = db.Column(db.DateTime, default=datetime.utcnow)
role = db.Column(db.String(32), index=True)
def __repr__(self):
return f"<User {self.username}>"
def set_password(self, password):
"""
Set the password_hash field
:param password:
"""
self.password_hash = generate_password_hash(password)
def check_password(self, password):
"""
Check the password against the hash in the database
:param password:
returns: True/False
"""
return check_password_hash(self.password_hash, password)