Advertisement
Guest User

pastebinflaskidk

a guest
May 15th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1. from app import db
  2. from werkzeug.security import generate_password_hash, check_password_hash
  3. from flask_login import UserMixin
  4. from . import login_manager
  5.  
  6.  
  7. @login_manager.user_loader
  8. def load_user(user_id):
  9.     return User.query.get(int(user_id))
  10.  
  11.  
  12. class Role(db.Model):
  13.     __tablename__ = 'roles'
  14.     id = db.Column(db.Integer, primary_key=True)
  15.     name = db.Column(db.String(64), unique=True)
  16.     users = db.relationship('User', backref='role', lazy='dynamic')
  17.  
  18.     def __repr__(self):
  19.  
  20.         return '<Role %r>' % self.name
  21.  
  22.  
  23. class User(db.Model, UserMixin):
  24.     __tablename__ = 'users'
  25.     id = db.Column(db.Integer, primary_key=True)
  26.     email = db.Column(db.String(64), unique=True, index=True)
  27.     username = db.Column(db.String(64), unique=True, index=True)
  28.     role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
  29.     password_hash = db.Column(db.String(128))
  30.  
  31.     @property
  32.     def password(self):
  33.         raise AttributeError('password is not a readable attribute')
  34.  
  35.     @password.setter
  36.     def password(self, password):
  37.         self.password_hash = generate_password_hash(password)
  38.  
  39.     def verify_password(self, password):
  40.         return check_password_hash(self.password_hash, password)
  41.  
  42.     def __repr__(self):
  43.  
  44.         return '<User %r>' % self.username
  45.  
  46.  
  47. #form
  48.  
  49. from flask_wtf import FlaskForm
  50. from wtforms import StringField, PasswordField, BooleanField, SubmitField
  51. from wtforms.validators import DataRequired, Length, Email
  52.  
  53.  
  54. class LoginForm(FlaskForm):
  55.     email = StringField('Email', validators=[DataRequired(), Length(1, 64),
  56.                                              Email()])
  57.     password = PasswordField('Password', validators=[DataRequired()])
  58.     remember_me = BooleanField('Keep me logged in')
  59.     submit = SubmitField('Log In')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement