Я пытаюсь создать гостевого пользователя в своем приложении flask, но мне показалось, что это неприятно. Мне нужно другое пользовательское взаимодействие, когда они выбирают «гость» - это будет вызвано нажатием кнопки «продолжить с гостем». Вот что я сделал до сих пор:
class AnonymousUser(AnonymousUserMixin):
def __init__(self):
super()
self.is_guest=False
class GuestUser(AnonymousUserMixin):
def __init__(self):
super()
self.is_guest=True
Итак, сначала я установил
loginmanager.anonymous_user = AnonymousUser
, а когда нажата кнопка «продолжить как гость», я установил
loginmanager.anonymous_user = GuestUser
Я заметил, что это успешно изменило пользователя anon в менеджере входа, но это не меняет current_user, предоставленного flask -login. Печать flask -login после установки для пользователя anon в менеджере входа значения GuestUser по-прежнему дает
<app.models.AnonymousUser object at 0x111422222>
Может кто-нибудь выделить недостаток в этом подходе или предложить другой подход? Спасибо!