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

Атрибут anonymous_user

Атрибут anonymous_user принадлежит классу LoginManager из расширения Flask-Login. Он хранит класс или экземпляр, который возвращается свойством current_user, когда в текущей сессии нет аутентифицированного пользователя. По умолчанию атрибут указывает на AnonymousUserMixin, но его можно заменить собственным классом, чтобы добавить анонимному пользователю дополнительные атрибуты или методы.

Синтаксис

login_manager.anonymous_user = CustomAnonymousUser

Пример

Давайте создадим простое приложение с Flask-Login и посмотрим, какой объект возвращается в current_user для гостя:

from flask import Flask, render_template from flask_login import LoginManager, current_user app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager(app) @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run()

Шаблон выведет имя класса текущего пользователя:

<p>{{ current_user.__class__.__name__ }}</p>

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

<p>AnonymousUserMixin</p>

Пример

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

from flask import Flask, render_template from flask_login import LoginManager, current_user from flask_login.mixins import AnonymousUserMixin app = Flask(__name__) app.secret_key = 'secret' class CustomAnonymousUser(AnonymousUserMixin): role = 'guest' login_manager = LoginManager(app) login_manager.anonymous_user = CustomAnonymousUser @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run()

Шаблон выведет роль текущего пользователя:

<p>{{ current_user.role }}</p>

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

<p>guest</p>

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

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