Зарегистрируйтесь с помощью Facebook и создайте профиль пользователя в Django-Rest

#django-rest-framework #django-allauth #django-rest-auth

#django-rest-framework #django-allauth #django-rest-auth

Вопрос:

Я использую django-allauth and dj-rest-auth в своем проекте django-rest для регистрации пользователей и разрешения им входить в мое приложение react-native. Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь зарегистрирован, он создает конкретного пользователя в social accounts таблице. Тем не менее, я хочу также создать user profile для каждого участника, который регистрируется через Facebook, и сохранить дополнительные данные (имя, адрес электронной почты, изображение). Я просмотрел документы, блоги, stack-overflow, но просто не могу понять, как я могу это сделать.

Пока что у меня есть social_login приложение, которое управляет входом в систему и имеет представление, которое имеет следующее:

 from allauth.socialaccount.providers.facebook.views import FacebookOAuth2Adapter
from dj_rest_auth.registration.views import SocialLoginView

class FacebookLogin(SocialLoginView):
    adapter_class = FacebookOAuth2Adapter
 

Как я могу отредактировать social accounts модель? и как я могу создать профиль пользователя в своем users приложении после регистрации пользователя с помощью Facebook?

Обновить:

Я понял, что в Django у меня может быть только одна таблица авторизации пользователя, которая управляет пользователем, независимо от того, являются ли они клиентами или сотрудниками. Теперь я перешел на использование пользовательской модели пользователя с использованием AbstractUser from Django. Потенциально я мог бы создать еще одну таблицу для профилей пользователей, которая затем могла бы содержать дополнительные сведения или расширять модель, которая у меня есть сейчас. Я расширю User созданную мной модель, поскольку, по моему мнению, создание дополнительной модели было бы излишним для моих текущих потребностей.

Это сообщение в блоге помогло мне перейти на использование пользовательской модели пользователя в середине проекта.

Я также понял, что могу использовать allauth сигналы ( user_signed_up в частности, для моего случая) для запуска функции. Я довольно новичок в Python / Django, поэтому даже не знал, что такое сигнал, примерно 30 минут назад. Справедливо сказать, что каждый день вы узнаете что-то новое 🙂