From 3a24e0a9db53ab0e50a46ef15d334cd810303a5c Mon Sep 17 00:00:00 2001 From: Rich Date: Sat, 3 Jul 2021 08:43:01 +0100 Subject: [PATCH] . --- app/__init__.py | 1 + app/routes.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index cc23185..a87c00a 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -4,5 +4,6 @@ from flask_login import LoginManager app = Flask(__name__) app.config["SECRET_KEY"] = "fdsaGHJ768fdsGHKJHG656&*(&%&*(fsd" login = LoginManager(app) +login.login_view = "login" from app import routes diff --git a/app/routes.py b/app/routes.py index eddfa41..bca8c12 100644 --- a/app/routes.py +++ b/app/routes.py @@ -1,14 +1,22 @@ from flask import render_template, flash, redirect, url_for from app import app from app.forms import LoginForm +from flask_login import current_user, login_user +from app.models import User @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(): - flash("Login requested for user {}, remember_me={}".format(form.username.data, form.remember_me.data)) - return redirect("/index") + user = User.query.filter_by(username=form.username.data).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) + return redirect(url_for("index")) return render_template("login.html", title="Sign In", form=form)