【发布时间】:2015-07-31 12:21:32
【问题描述】:
我正在创建一个部分管道以在注册时获取用户的电话号码并跳过后续登录的步骤。我的部分管道如下所示:
@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')
问题是,请求对象未正确传递给视图,因此用户显示为匿名。我无法访问用户对象,因此无法保存电话号码。
【问题讨论】:
标签: python django facebook django-socialauth python-social-auth