Задать вопрос
@pcdesign

Как убрать бесконечное прописывание @login_required и @admin_required?

Есть сайт на flask со 100500 роутами.
И надо как дятлу прописывать декораторы для маршрутов.
Например:

@app.route('/userarea/income/')
@login_required
def user_income():
    return render_template("user_index.html")


@app.route('/userarea/income/add/')
@login_required
def user_income_add():
    return render_template("user_index.html")


@app.route('/adminarea/')
@login_required
@admin_required
def admin_firm():  
    return render_template("admin.html")

И т.д.


Вопрос: Какой смысл использовать flask-login, если и в @app.before_request есть возможность разрулить в 2-3 строки?
И в принципе какой смысл использовать flask-login?
В каком случае сессий не хватает?

@app.before_request
def before_request():
    g.user_id = session.get('user_id', None)
    g.admin_id = session.get('admin_id', None)
    if ((not g.user_id and request.path.startswith('/userarea/')) or
            (not g.admin_id and request.path.startswith('/adminarea/'))):
        return redirect(url_for('login'))
  • Вопрос задан
  • 346 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Фаст Лейн
    Веб-разработка на Flask + AI-прототипирование
    1 неделя
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@deliro
А какой смысл юзать flask, если лень?
Используй django, там за тебя уже добавили middleware'ы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Инком Нижний Новгород
от 160 000 до 230 000 ₽
Инком Нижний Новгород
от 160 000 до 230 000 ₽
ITK academy Краснодар
от 220 000 до 300 000 ₽