Как создать пользовательскую модель Django AllAuth Socialaccount?

Вот краткое описание приложения, которое я пытаюсь создать:

Я хочу, чтобы пользователи (в основном студенты) регистрировались в моем приложении, используя свои учетные записи Google. Сервис, который я использую для управления созданием учетных записей - это Django-AllAuth. Django-AllAuth имеет очень ограниченную Social модель аккаунта (он сохраняет только имя пользователя, email, имя и их роли).

Я хочу иметь дополнительные поля, которые я сохраняю в своей БД. Я хочу сохранить Группу года и Любимую тему моих пользователей.

Как пользователь регистрируется на моем сайте:

  • Пользователь перенаправляется на страницу "Sign in With Google". Google возвращает следующие поля: имя пользователя, Google ID и email.
  • Затем я хочу перенаправить пользователя на страницу "Завершить регистрацию аккаунта". На этой странице пользователь должен будет заполнить поля ввода для своего имени пользователя, годовой группы и любимого предмета
  • .

    Я не могу найти никаких решений для этого конкретного случая.

    Мои вопросы

  • Как мне создать пользовательскую модель социальных аккаунтов в Django-AllAuth?
  • Как мне попросить пользователей заполнить еще одну форму завершения регистрации?

  • Я знаю, что вы можете перенаправлять пользователей на финишную форму регистрации с помощью этого кода в файле settings.py. Однако эта форма состоит только из полей "email" и "имя пользователя".

    SOCIALACCOUNT_AUTO_SIGNUP=False

    Вот моя конфигурация AllAuth (в settings.py):

    SOCIALACCOUNT_AUTO_SIGNUP=False
    SOCIALACCOUNT_LOGIN_ON_GET=False
    SOCIALACCOUNT_EMAIL_REQUIRED=True
    ACCOUNT_USERNAME_REQUIRED=True
    ACCOUNT_UNIQUE_EMAIL=True
    
    SOCIALACCOUNT_PROVIDERS = {
        'google': {
            'SCOPE': [
                'profile',
                'email',
            ],
            'AUTH_PARAMS': {
                'access_type': 'offline',
            }
        }
    }
    
    Вернуться на верх