Параметр method
Параметр method передаётся в функцию login_user и определяет способ аутентификации пользователя. Первым значением может быть 'GET' или 'POST', вторым - логическое значение force. Если пользователь уже аутентифицирован, а force равен False, вход не выполняется.
Синтаксис
login_user(user, remember=False, duration=None, force=False, fresh=True)
Пример
Давайте выполним вход пользователя с параметром force равным True:
from flask import Flask, redirect, url_for
from flask_login import LoginManager, UserMixin, login_user
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('abcde')
login_user(user, force=True)
return 'user logged in'
Результат выполнения кода:
"user logged in"
Пример
Давайте выполним вход пользователя с запоминанием сессии:
from flask import Flask
from flask_login import LoginManager, UserMixin, login_user
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('article')
login_user(user, remember=True)
return 'user remembered'
Результат выполнения кода:
"user remembered"
Смотрите также
-
функцию
login_user,
которая выполняет вход пользователя -
функцию
logout_user,
которая выполняет выход пользователя -
метод
user_loader,
который загружает пользователя по идентификатору -
метод
init_app,
который инициализирует LoginManager