Solution 1
from flask import Flask, redirect, url_for
.
.
.
@ui.route('/login', methods=['GET' , 'POST'])
def login():
usr = User.query.filter_by(username=username).first()
if request.method == "POST":
## login code
username = request.form.get('username')
if not check_password_hash(user.password, password):
flash('Wrong creds')
return render_template('login.html')
else:
redirect(url_for(f'/PROFILE/{username}')
return render_template('login.html')
Solution 2
@ui.route('/login', methods=['GET' , 'POST'])
def login():
usr = User.query.filter_by(username=username).first()
if request.method == "POST":
## login code
username = request.form.get('username')
if not check_password_hash(user.password, password):
flash('Wrong creds')
return render_template('login.html')
else:
return redirect(url_for('.PROFILE', usrname=username))
# here url_for takes the function name
return render_template('login.html')