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

Атрибут is_active

Атрибут is_active принадлежит классу UserMixin из модуля flask_login. Он возвращает булево значение и показывает, активна ли учётная запись пользователя. Если атрибут равен True, пользователь может войти в систему. Если False, Flask-Login откажет в аутентификации, даже если логин и пароль верны. По умолчанию в UserMixin этот атрибут всегда возвращает True.

Синтаксис

user.is_active

Пример

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

from flask import Flask from flask_login import UserMixin app = Flask(__name__) class User(UserMixin): def __init__(self, id): self.id = id user = User(1) res = user.is_active print(res)

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

True

Пример

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

from flask import Flask from flask_login import UserMixin app = Flask(__name__) class User(UserMixin): def __init__(self, id, active): self.id = id self._active = active @property def is_active(self): return self._active user = User(1, False) res = user.is_active print(res)

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

False

Пример

Давайте используем атрибут is_active в функции login_user, чтобы запретить вход неактивному пользователю:

from flask import Flask from flask_login import UserMixin, LoginManager, login_user app = Flask(__name__) app.secret_key = 'abcde' login_manager = LoginManager() login_manager.init_app(app) class User(UserMixin): def __init__(self, id, active): self.id = id self._active = active @property def is_active(self): return self._active @login_manager.user_loader def load_user(user_id): return User(user_id, False) with app.test_request_context(): user = User(1, False) res = login_user(user) print(res)

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

False

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

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