Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- forms.py
- class LoginForm(FlaskForm):
- username = StringField('Username')
- email = StringField('Email')
- password = PasswordField('Password', validators=[DataRequired()])
- remember_me = BooleanField('Remember Me')
- submit = SubmitField('Sign In')
- def validate_submit(username, email):
- if (username.data == '') and (email.data == ''):
- raise ValidationError('You have to enter username or email!')
- routes.py
- #Login
- @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(username=form.username.data.lower()).first()
- if user is None:
- user = User.query.filter_by(email=form.email.data.lower()).first()
- 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)
- next_page = request.args.get('next')
- if not next_page or url_parse(next_page).netloc != '':
- next_page = url_for('index')
- return redirect(next_page)
- return render_template('login.html', title='Sign In', form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement