Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # models.py
- from sqlalchemy import BigInteger, Column, DateTime, ForeignKey, Index, Integer, String, Table, text
- from sqlalchemy.orm import relationship
- from sqlalchemy.ext.declarative import declarative_base
- from datetime import datetime
- from app import db, login, bcrypt
- from flask_login import UserMixin
- from flask_bcrypt import generate_password_hash, check_password_hash
- @login.user_loader
- def load_user(id):
- return User.query.get(int(id))
- Base = declarative_base()
- metadata = Base.metadata
- class User(Base):
- __tablename__ = 'user_table'
- id = Column(BigInteger, primary_key=True)
- mail = Column(String(50), nullable=False, unique=True)
- _pass = Column('pass', String(10), nullable=False)
- # views.py
- from flask import render_template, flash, redirect, url_for, request
- from app import app, db
- from app.forms import LoginForm, RegistrationForm
- from flask_login import current_user, login_user, logout_user, login_required
- from app.models import User
- from werkzeug.security import generate_password_hash, check_password_hash
- import sys
- @app.route('/login', methods=['GET','POST'])
- def login():
- if current_user.is_authenticated:
- return redirect(url_for('index'))
- form = LoginForm()
- if form.validate_on_submit():
- user = User.query.filter_by(mail=form.username.data).first()
- print('user: '+user.mail, file=sys.stderr)
- if user is None or not user.check_password(form.password.data):
- flash('Invalid username or password')
- return redirect(url_for('login'))
- login_user(user, remember=form.remember_me.data)
- return redirect(url_for('user', user_id=current_user.id))
- return render_template('login.html', title='Sign In', form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement