How do you pass values between routes in flask? [duplicate]

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')