Функция login_remembered
Функция login_remembered применяется для того, чтобы
пометить текущего пользователя как вошедшего в систему
с флагом "запомнить меня". Она не принимает аргументов
и возвращает True, если пользователь был аутентифицирован
через "запомнить меня", и False в противном случае.
Функция полезна для проверки того, как именно пользователь
вошёл в систему.
Синтаксис
from flask_login import login_remembered
res = login_remembered()
Пример
Давайте создадим простое приложение с использованием
Flask-Login и проверим, был ли пользователь
запомнен при входе. Для этого определим модель
пользователя и маршрут, который выводит результат
проверки:
from flask import Flask
from flask_login import LoginManager, UserMixin, login_user, login_remembered
app = Flask(__name__)
app.secret_key = 'abcde'
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')
def login():
user = User('1')
login_user(user, remember=True)
return str(login_remembered())
@app.route('/login_no_remember')
def login_no_remember():
user = User('2')
login_user(user, remember=False)
return str(login_remembered())
Результат выполнения кода для адреса /login:
True
Результат выполнения кода для адреса /login_no_remember:
False
Пример
Давайте используем функцию login_remembered
внутри шаблона для отображения информации о способе входа:
from flask import Flask, render_template
from flask_login import LoginManager, UserMixin, login_user, login_remembered
app = Flask(__name__)
app.secret_key = 'abcde'
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('/')
def index():
user = User('1')
login_user(user, remember=True)
res = login_remembered()
return render_template('index.html', res=res)
Шаблон для отображения результата:
{% if res %}
<p>Пользователь запомнен.</p>
{% else %}
<p>Пользователь не запомнен.</p>
{% endif %}
Результат выполнения кода:
<p>Пользователь запомнен.</p>
Смотрите также
-
функцию
login_user,
которая выполняет вход пользователя в систему -
функцию
logout_user,
которая выполняет выход пользователя из системы -
функцию
login_required,
которая ограничивает доступ к маршруту -
класс
LoginManager,
который управляет процессом аутентификации