Advertisement
Guest User

Untitled

a guest
Feb 12th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.74 KB | None | 0 0
  1. # models.py
  2. from sqlalchemy import BigInteger, Column, DateTime, ForeignKey, Index, Integer, String, Table, text
  3. from sqlalchemy.orm import relationship
  4. from sqlalchemy.ext.declarative import declarative_base
  5. from datetime import datetime
  6. from app import db, login, bcrypt
  7. from flask_login import UserMixin
  8. from flask_bcrypt import generate_password_hash, check_password_hash
  9.  
  10. @login.user_loader
  11. def load_user(id):
  12.     return User.query.get(int(id))
  13.  
  14. Base = declarative_base()
  15. metadata = Base.metadata
  16.  
  17.  
  18. class User(Base):
  19.     __tablename__ = 'user_table'
  20.  
  21.     id = Column(BigInteger, primary_key=True)
  22.     mail = Column(String(50), nullable=False, unique=True)
  23.     _pass = Column('pass', String(10), nullable=False)
  24.  
  25. # views.py
  26. from flask import render_template, flash, redirect, url_for, request
  27. from app import app, db
  28. from app.forms import LoginForm, RegistrationForm
  29. from flask_login import current_user, login_user, logout_user, login_required
  30. from app.models import User
  31. from werkzeug.security import generate_password_hash, check_password_hash
  32. import sys
  33.  
  34. @app.route('/login', methods=['GET','POST'])
  35. def login():
  36.     if current_user.is_authenticated:
  37.         return redirect(url_for('index'))
  38.     form = LoginForm()
  39.     if form.validate_on_submit():
  40.         user = User.query.filter_by(mail=form.username.data).first()
  41.         print('user: '+user.mail, file=sys.stderr)
  42.         if user is None or not user.check_password(form.password.data):
  43.             flash('Invalid username or password')
  44.             return redirect(url_for('login'))
  45.         login_user(user, remember=form.remember_me.data)
  46.         return redirect(url_for('user', user_id=current_user.id))
  47.     return render_template('login.html', title='Sign In', form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement