You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
913 B
25 lines
913 B
3 years ago
|
import os
|
||
|
from flask_login import current_user
|
||
|
from usermodel import User
|
||
|
from forms.loginform import LoginForm
|
||
|
|
||
|
|
||
|
def LoginUser():
|
||
|
loginform = LoginForm()
|
||
|
if loginform.validate_on_submit():
|
||
|
try:
|
||
|
user = User.query.filter_by(email=loginform.email.data).first()
|
||
|
if user is None:
|
||
|
loginform.password.errors.append("Invalid email or password!")
|
||
|
return render_template("login.html", loginform=loginform)
|
||
|
if check_password_hash(user.password, loginform.password.data):
|
||
|
login_user(user)
|
||
|
flash("Logged in successfully.", "success")
|
||
|
else:
|
||
|
flash("Invalid email or password!", "danger")
|
||
|
loginform.password.errors.append("Invalid email or password!")
|
||
|
return loginform
|
||
|
except Exception as e:
|
||
|
flash(e, "danger")
|
||
|
return loginform
|