Как реализовать Guest User в Flask? - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь создать гостевого пользователя в своем приложении 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>

Может кто-нибудь выделить недостаток в этом подходе или предложить другой подход? Спасибо!

...