Advertisement
Guest User

Untitled

a guest
Jun 14th, 2018
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. forms.py
  2.  
  3. class LoginForm(FlaskForm):
  4. username = StringField('Username')
  5. email = StringField('Email')
  6. password = PasswordField('Password', validators=[DataRequired()])
  7. remember_me = BooleanField('Remember Me')
  8. submit = SubmitField('Sign In')
  9.  
  10. def validate_submit(username, email):
  11. if (username.data == '') and (email.data == ''):
  12. raise ValidationError('You have to enter username or email!')
  13.  
  14. routes.py
  15.  
  16. #Login
  17. @app.route('/login', methods=['GET', 'POST'])
  18. def login():
  19. if current_user.is_authenticated:
  20. return redirect(url_for('index'))
  21. form = LoginForm()
  22. if form.validate_on_submit():
  23. user = User.query.filter_by(username=form.username.data.lower()).first()
  24. if user is None:
  25. user = User.query.filter_by(email=form.email.data.lower()).first()
  26. if user is None or not user.check_password(form.password.data):
  27. flash('Invalid username or password')
  28. return redirect(url_for('login'))
  29. login_user(user, remember=form.remember_me.data)
  30. next_page = request.args.get('next')
  31. if not next_page or url_parse(next_page).netloc != '':
  32. next_page = url_for('index')
  33. return redirect(next_page)
  34. return render_template('login.html', title='Sign In', form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement