РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
442 of 643 menu

Атрибут is_authenticated

Атрибут is_authenticated принадлежит классу AnonymousUserMixin из модуля flask_login. Он применяется к объекту анонимного пользователя, который Flask-Login подставляет в current_user, когда ни один пользователь не вошёл в систему. Атрибут не принимает параметров и всегда возвращает False.

Атрибут используется для проверки того, вошёл ли пользователь в систему. Если current_user.is_authenticated возвращает False, значит текущий пользователь анонимный, и доступ к защищённым страницам нужно ограничить.

Синтаксис

current_user.is_authenticated

Пример

Давайте проверим значение атрибута для анонимного пользователя:

from flask import Flask from flask_login import LoginManager, current_user app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) @app.route('/') def index(): return str(current_user.is_authenticated)

Результат выполнения кода:

<+html+> False <-html+>

Пример

Давайте используем атрибут для защиты страницы от анонимных пользователей:

from flask import Flask, redirect, url_for from flask_login import LoginManager, current_user app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) @app.route('/') def index(): if not current_user.is_authenticated: return redirect(url_for('login')) return 'hello' @app.route('/login') def login(): return 'login page'

Результат выполнения кода для анонимного пользователя при запросе адреса /:

<+html+> login page <-html+>

Пример

Давайте выведем разные сообщения в шаблоне в зависимости от значения атрибута:

from flask import Flask, render_template from flask_login import LoginManager, current_user app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) @app.route('/') def index(): return render_template('index.html')
<+jinja+> {% if current_user.is_authenticated %}

user

{% else %}

anonymous

{% endif %} <-jinja+>

Результат выполнения кода для анонимного пользователя:

<+html+>

anonymous

<-html+>

Смотрите также

  • класс AnonymousUserMixin,
    который представляет анонимного пользователя
  • атрибут is_anonymous,
    который показывает что пользователь анонимный
  • атрибут is_active,
    который показывает активность анонимного пользователя
  • метод get_id,
    который возвращает идентификатор анонимного пользователя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить