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

Функция login_user

Функция login_user применяется для аутентификации пользователя в приложении Flask. Первым параметром передаётся объект пользователя, который должен реализовывать интерфейс UserMixin. После вызова Flask-Login сохраняет идентификатор пользователя в сессии и делает его доступным через current_user.

Вторым необязательным параметром remember можно включить режим «запомнить меня», а параметром duration - задать время жизни такой сессии. Функция возвращает True, если вход выполнен успешно.

Синтаксис

login_user(user, remember=False, duration=None, force=False, fresh=True)

Пример

Давайте создадим простое приложение с формой входа, использующее login_user:

from flask import Flask, request, redirect, url_for from flask_login import LoginManager, UserMixin, login_user app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': user = User(request.form['username']) login_user(user) return redirect(url_for('index')) return 'login form' @app.route('/') def index(): return 'hello'

После отправки формы пользователь будет аутентифицирован и перенаправлен на главную страницу.

Пример

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

from flask import Flask, request from flask_login import LoginManager, UserMixin, login_user app = Flask(__name__) app.secret_key = 'secret' login_manager = LoginManager() login_manager.init_app(app) class User(UserMixin): def __init__(self, id): self.id = id @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': user = User(request.form['username']) res = login_user(user, remember=True) return str(res) return 'login form'

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

"True"

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

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