Я погуглил и получил полезную ссылку для получения аватара gmail. Я использовал библиотеку social-auth-app-django и следовал инструкциям
ссылка для настройки функциональности. Аутентификация работает нормально, но застряла в получении аватара. Я создал pipeline.py внутри основного сконфигурированного корня проекта и назвал это в моем представлении как из TestDjangoAuth.pipeline import get_avatar .
Это правильный путь, через который я иду, чтобы получить аватар? Другой вопрос - как использовать метод конвейера в views.py, например user_details , get_username , который мы вызвали в SOCIAL_AUTH_PIPELINE
Это метод перенаправления в views.py, который выдает некоторую ошибку. я хочу установить аватар в качестве сессии:
from TestDjangoAuth.pipeline import get_avatar
def social_login(request):
if request.method == 'GET':
if request.user.is_authenticated:
request.session['photo'] = get_avatar()
Это pipe.py , который я изменил для использования на мой взгляд
def get_avatar(backend, strategy, details, response, user=None, *args, **kwargs):
url = None
if backend.name == 'google-oauth2':
url = response['image'].get('url')
print(url)
return url
Когда я возвращаю URL для использования в моем представлении, чтобы использовать изображение профиля, это дает следующую ошибку
AttributeError at /auth/complete/google-oauth2/
'str' object has no attribute 'backend'