Привет, я пытаюсь войти в свой проект django через Steam, используя приложение социальной авторизации. Я очень новичок в django, и веб-разработка, по сути, мой первый проект, поэтому извините, если я не знаю некоторых очевидных вещей.
На данный момент я пытаюсь получить данные о рангах из моей базы данных cs go server mysql, отсортировать их и выполнить поиск рангов зарегистрированных пользователей et c.
Я хочу добавить больше полей в модель пользователя в будущем, поэтому я создал профиль класса и, поскольку я могу понять, выполняя поиск в Интернете, если я хочу использовать аутентификацию django и не хочу реализовывать свою собственную, я должен расширить с помощью AbstractUser и добавить дополнительные поля здесь (поправьте меня, если я ошибаюсь).
class Profile(AbstractUser):
credit = models.BigIntegerField(default='0')
# and some function relating this below
в settings.py
AUTH_USER_MODEL = 'users.Profile'
SOCIAL_AUTH_STEAM_EXTRA_DATA = ['player']
теперь, когда я вхожу в систему, пользователь ia создается под пользователем социальной сети, которого я вижу в панель администратора введите описание изображения здесь
если я нажму на него, я тоже могу увидеть дополнительные данные.
Теперь, когда я пытаюсь получить к нему доступ в views.py, используя
if request.user.is_authenticated:
userID = request.user.social_auth.get(
provider='steam'
).extra_data.player.steamid
я получаю эту ошибку введите здесь описание изображения
Я пытался найти, как получить доступ к данным social_auth, например extra_data uid et c, но пока что далеко от того, что я смог обнаружить, что это не работает. Также это правильный способ создания пользовательской модели пользователя? Также я могу видеть кредит, сохраненный под пользователем в панели администратора (которая, я полагаю, является моделью django по умолчанию), и данные Steam под пользователем социальной аутентификации. Как я могу вместо этого сохранить обе модели под профилем? Я немного сбит с толку, так что несите меня и заранее спасибо.