Метод get_id
Метод get_id принадлежит классу
AnonymousUserMixin из модуля
flask_login. Этот класс используется
Flask-Login для представления неавторизованного
пользователя. Метод не принимает параметров
и всегда возвращает значение None,
поскольку у анонимного пользователя нет
идентификатора в системе.
Синтаксис
AnonymousUserMixin.get_id()
Пример
Давайте создадим экземпляр класса и вызовем
метод get_id:
from flask_login import AnonymousUserMixin
user = AnonymousUserMixin()
res = user.get_id()
print(res)
Результат выполнения кода:
None
Пример
Давайте проверим, как метод ведёт себя в контексте приложения Flask с Flask-Login:
from flask import Flask
from flask_login import LoginManager, current_user
app = Flask(__name__)
app.secret_key = 'secret'
login_manager = LoginManager()
login_manager.init_app(app)
@app.route('/')
def index():
res = current_user.get_id()
return str(res)
Результат выполнения кода для неавторизованного пользователя:
None
Пример
Давайте переопределим метод get_id
в собственном классе анонимного пользователя:
from flask import Flask
from flask_login import LoginManager, AnonymousUserMixin
app = Flask(__name__)
app.secret_key = 'secret'
class MyAnonymousUser(AnonymousUserMixin):
def get_id(self):
return 'guest'
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.anonymous_user = MyAnonymousUser
@app.route('/')
def index():
from flask_login import current_user
res = current_user.get_id()
return str(res)
Результат выполнения кода для неавторизованного пользователя:
guest
Смотрите также
-
класс
AnonymousUserMixin,
который представляет анонимного пользователя -
метод
get_id,
который возвращает идентификатор анонимного пользователя -
атрибут
is_authenticated,
который показывает, авторизован ли пользователь -
метод
user_loader,
который загружает пользователя по идентификатору