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"