Django social all auth - несколько типов пользователей

У меня есть две страницы регистрации: Регистрация как Покупатель, Регистрация как Продавец.

На обеих страницах я включил обычную регистрацию и социальную аутентификацию с помощью Google и Facebook.

Я добавил социальную аутентификацию с помощью Django all-auth, но не могу получить роль_пользователя.

[1][Страница регистрации]:

  • После регистрации: пользователь перенаправляется на главную страницу, а поскольку в социальной аутентификации не задана роль пользователя, он не может получить доступ к разделу покупателя или продавца.

[2][Регистрация в Google]: После регистрации : Пользователь зарегистрирован как Blank Login.

  • проверьте домашнюю страницу после регистрации в Google:

МОЯ ЗАДАЧА : Назначить тип пользователя на обе кнопки: Покупатель и Продавец. При нажатии кнопки перенаправить пользователя на определенную страницу регистрации и входа/подписки с социальной аутентификацией и после успешного входа перенаправить пользователя на свою страницу и показать user_type в Django-administration-panel как:

User_type | Email | is_active

Покупатель | test@gmail.com | True

Продавец | demo@gmail.com | False

Вы можете создать модель профиля для всех пользователей, а затем присвоить пользователю профиль следующим образом.

#models.py

class Profile(models.Model):
    user_type = models.CharField()
    user = models.ForeignKey(User, related_name="profile")

это будет выполняться после создания пользователя.

#signals.py

from django.db.models.signals import post_save
from django.dispatch import receiver
from . models import Profile
from django.conf import settings

User = settings.AUTH_USER_MODEL

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance, user_type=instance.user_type)

edit: я не знаю, как выглядит ваше поле user_type, я предполагаю, что это "user_type"

Вернуться на верх