Flask-Вход для нескольких пользователей

Я использую Flask-Login в своем приложении. Я использовал его для одного класса (Пользователь), но в моем новом проекте у меня будет класс ProductOwner и класс Customer. Записи этих классов войдут в систему, но я не мог понять, как это сделать.

Я нашел аналогичный вопрос в Реализация Flask-Login с несколькими классами пользователей page, но это решение с ролями. Мои два класса имеют разные поля.

Не могли бы вы объяснить, как мне это сделать?

Спасибо


person Burak Nebioglu    schedule 07.10.2014    source источник
comment
Функция, которую вы используете в качестве user_loader, должна каким-то образом различать разные классы пользователей. Однако эта функция может возвращать экземпляр любого класса, который вы хотите, если он соответствует интерфейсу, требуемому Flask-Login для пользователя.   -  person dirn    schedule 07.10.2014
comment
Спасибо, я постараюсь найти решение, попробовав user_loader, надеюсь, я смогу решить.   -  person Burak Nebioglu    schedule 08.10.2014


Ответы (1)


Вы можете наследовать класс ProductOwner и класс Customer от базового класса User. Поместите всю логику аутентификации/загрузки пользователей в класс User.

person Dan Cauley    schedule 07.10.2014
comment
Извините, что не упомянул об этом, я новичок в Flask, и я использую Flask-Sqlalchemy, мои классы - это мои модели баз данных. Я не пробовал до того, что вы говорите. Не могли бы вы написать простой код, чтобы показать, как это работает. Большое спасибо, Дэн. - person Burak Nebioglu; 08.10.2014
comment
@BurakNebioglu взгляните на документы Python по наследованию классов, в которых объясняется создание подклассов: docs. python.org/3/tutorial/classes.html и документы flask-sqlalchemy: flask-sqlalchemy.palletsprojects.com - person monsieuralfonse64; 30.09.2020