Używam django-allauth dla mojego systemu uwierzytelniania. Potrzebuję tego, gdy użytkownik się zaloguje, moduł profilu zostanie wypełniony informacjami o usługodawcy (w moim przypadku facebook).Jak wypełnić profil użytkownika informacjami o dostawcy django-allauth?
Próbuję użyć sygnału pre_social_login, ale ja po prostu nie wiem jak pobrać dane od dostawcy uwierzytelniania
from django.dispatch import receiver
from allauth.socialaccount.signals import pre_social_login
@receiver(pre_social_login)
def populate_profile(sender, **kwargs):
u = UserProfile(>>FACEBOOK_DATA<<)
u.save()
Dzięki !!! Sygnał
Musiałem użyć tego w następujący sposób: kwargs.get ("user"). Socialaccount_set.filter (provider = 'facebook'). Extra_data, ale kiedy to zrobię, otrzymuję ten błąd: AttributeError at/accounts/facebook/login/callback/ Obiekt "QuerySet" nie ma atrybutu "extra_data" Dzięki za odpowiedź! Twoja aplikacja jest niesamowita –
Ups, mój przykład był nieprawidłowy (właśnie to poprawiłem). Zapomniałem wybrać element z zestawu zapytań ([0]), jak w: ".filter (...) [0] ..." – pennersr
To działało! Wielkie dzięki! –