Как в flask узнать авторизирован ли юзер и если нет напрвить его в login

Как в flask узнать авторизирован ли юзер и если нет напрвить его в login

код:

class User(db.Model,UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(128), unique=True, nullable=False)
    password = db.Column(db.String(255), primary_key=True, nullable=False)

@app.route('/login', methods=['GET','POST'])
def login():
    user = request.form.get('user')
    password = request.form.get('password')
    if login and password:
        userlog = User.query.filter_by(login=login).first()
        if user and check_password_hash(userlog.password, password):
            login_user(userlog)
            redirect(url_for['myprogrece'])
        else:
            flash('Login or passwort incorect')
    else:
        flash('Please fill')
    return render_template('login.html')

Ответы (1 шт):

Автор решения: Matvey Chekashov

Необходимо использовать @login_required

В конце добавьте такой код(Для указания ссылки куда попадёт пользователь в случае если он не авторизован):

@application.after_request
def redirect_to_sign(response):
    if response.status_code == 401:
        return redirect(url_for('login'))
        
    return response

После этого используйте @login_required Пример:

@app.route('/admin')
@login_required
   def admin():
      return '<h1>Admin page</h1>'
→ Ссылка