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

Метод init_app

Метод init_app применяется к объекту LoginManager и привязывает его к конкретному приложению Flask. Первым параметром передаётся экземпляр приложения app. Метод настраивает все внутренние механизмы авторизации: регистрирует контекстные процессоры, устанавливает обработчики и подключает загрузчик пользователя.

Метод init_app особенно полезен при создании расширений и при использовании фабрики приложений, когда объект LoginManager создаётся отдельно от экземпляра Flask.

Синтаксис

login_manager.init_app(app)

Пример

Давайте создадим менеджер авторизации и привяжем его к приложению через метод init_app:

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

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

<+html+> hello <-html+>

Пример

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

from flask import Flask from flask_login import LoginManager, UserMixin login_manager = LoginManager() class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) def create_app(): app = Flask(__name__) app.secret_key = 'secret' login_manager.init_app(app) @app.route('/') def index(): return 'user' return app app = create_app()

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

<+html+> user <-html+>

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

  • класс LoginManager,
    который управляет авторизацией во Flask
  • метод user_loader,
    который регистрирует загрузчик пользователя
  • метод unauthorized_handler,
    который задаёт обработчик неавторизованных запросов
  • функцию login_user,
    которая выполняет вход пользователя
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить