Barsukoth
@Barsukoth
Специалист технической поддержки

Почти роли в Python с Flask-Login. Как ограничить доступ к одной странице для всех, кроме одного пользователя с id 5?

Допустим, у меня есть страница. Хочу закостылить, не создавать роли. Дать доступ к странице только админу, у которого id 5.

Пробовал такое:
@app.route('/secret_page')
def secret_page():
    if User.query.get(5):
        return render_template('test.html',  title='Страница',)
    else:
        return redirect(url_for('index'))


Что-то совсем не могу додуматься
  • Вопрос задан
  • 470 просмотров
Решения вопроса 1
@kurrbanov
Пишу бэкенд на Питоне
if User.query.get(5):
Это условие просто проверит наличие админа в БД.

А нужно провеять id текущего пользователя.
from flask_login import login_required, current_user

@app.route('/secret_page')
@login_required
def secret_page():
    if current_user.get_id() == 5:
        return render_template('test.html',  title='Страница',)
    return redirect(url_for('index'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы