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

Класс AnonymousUserMixin

Класс AnonymousUserMixin применяется внутри Flask-Login и представляет пользователя, который не прошёл аутентификацию. Когда в сессии нет данных о вошедшем пользователе, Flask-Login подставляет экземпляр этого класса в current_user. По умолчанию атрибут is_authenticated равен False, is_active равен False, is_anonymous равен True, а метод get_id возвращает None.

Синтаксис

from flask_login import AnonymousUserMixin user = AnonymousUserMixin()

Пример

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

from flask_login import AnonymousUserMixin user = AnonymousUserMixin() print(user.is_authenticated) print(user.is_active) print(user.is_anonymous) print(user.get_id())

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

False False True None

Пример

Давайте применим класс в приложении Flask вместе с Flask-Login и выведем статус пользователя в шаблоне:

from flask import Flask, render_template from flask_login import LoginManager app = Flask(__name__) app.secret_key = 'abcde' login_manager = LoginManager() login_manager.init_app(app) @app.route('/') def index(): from flask_login import current_user return render_template('index.html', user=current_user)

Шаблон для вывода статуса пользователя:

<p>Authenticated: {{ user.is_authenticated }}</p> <p>Anonymous: {{ user.is_anonymous }}</p>

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

<p>Authenticated: False</p> <p>Anonymous: True</p>

Пример

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

from flask import Flask from flask_login import LoginManager, AnonymousUserMixin class MyAnonymousUser(AnonymousUserMixin): @property def is_active(self): return True app = Flask(__name__) app.secret_key = 'abcde' login_manager = LoginManager() login_manager.init_app(app) login_manager.anonymous_user = MyAnonymousUser @app.route('/') def index(): from flask_login import current_user return str(current_user.is_active)

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

True

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

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