Я создаю частичный конвейер, чтобы получить номер телефона пользователя при регистрации и пропустить шаг при последующих входах. Мой частичный трубопровод выглядит следующим образом:Частичный трубопровод, чтобы задать номер телефона пользователя
@partial
def other_info(strategy, details, user=None, is_new=False, *args, **kwargs):
if is_new or not details.get('email'):
request = kwargs['request']
return redirect('require_phone')
else:
return
На page-welcome.html
есть форма. Соответствующий вид выглядит следующим образом:
def require_phone(request):
if request.method == 'POST':
phone = request.POST.get('phone',None)
user = User.objects.get(username = request.user.username)
if phone is not None:
up = UserProfile.objects.get_or_create(user=request.user,
phone = phone)
up.save()
backend = request.session['partial_pipeline']['backend']
return redirect('social:complete', backend=backend)
else:
return render(request,'app/page-welcome.html')
Проблема заключается в том, объект запроса не правильно передается зрения и, следовательно, пользователь показывает анонимным. Я не могу получить доступ к объекту пользователя и, следовательно, не могу сохранить номер телефона.