Добрый день.
Недавно начал изучать Django (в. 1.8) с создания небольшого проекта. В проекте необходима авторизация через Steam-аккаунт, для чего использую библиотеку
python-social-auth.
Сделал свою модель пользователя, которая содержит данные уч. записи Steam. Написал pipeline, который определяет новый пользователь или нет, и, в зависимости от этого, создает или обновляет модель пользователя в Django.
В случае, если пользователь новый, я бы хотел отправить его на страницу заполнения профиля (email, имя и т.д.), но не совсем понимаю как лучше это сделать. Если я использую HttpResponseRedirect, то мой пользователь во view попадает как аноним.
Код pipeline:
# -*- coding: utf-8 -*-
from MySteam.settings import SA_USER_LEVEL
USER_FIELDS = ['email']
def update_or_create_user(strategy, details, backend, uid, user=None, *args, **kwargs):
strategy.provider = 'steam'
try:
get_user = SteamUser.objects.get(steam_id=uid)
except SteamUser.DoesNotExist:
get_user = None
if get_user:
get_user.update_steam_data()
return {
'is_new': False,
'social': strategy,
'user': get_user,
'new_association': False
}
else:
user = SteamUser.objects.create_user()
return {
'is_new': True,
'social': strategy,
'user': user,
'new_association': False
}
Подскажите, что для этого необходимо использовать и как?
Спасибо.