Hi Waris, Thank you for your replay. I just tried, it does not work.
I downloaded the original source example code from https://github.com/omab/python-social-auth/tree/master/examples/django_example. and modified the pipeline to the following to force the collection of email address. Same problem appeared. def require_email(strategy, details, user=None, is_new=False, *args, **kwargs): #if user and user.email: # return #elif is_new and not details.get('email'): # if strategy.session_get('saved_email'): # details['email'] = strategy.session_pop('saved_email') # else: # return redirect('require_email') return redirect('require_email') and the setting to: SOCIAL_AUTH_PIPELINE = ( ... 'social.pipeline.partial.save_status_to_session', 'example.app.pipeline.require_email', ... > ) On Friday, January 10, 2014 9:45:02 AM UTC-8, Yonggan Wu wrote: > > > http://stackoverflow.com/questions/21032255/python-social-auth-partial-pipeline-can-not-resume > > I am trying to collect the password for the new user with partial pipeline > of python-social-auth. For some unknown reason, I am not able to resume the > pipeline, the page render back to the password collection page after I > submit the form. > > What's wired is that even I typed the http.../complete/backend-name, the > page will redirect back to the password collection page. It looks like the > rendering goes into an endless loop, the password collection page first > point to the complete page, the complete page direct back to the password > collection page. I checked the value for REDIRECT_FIELD_NAME, it is "next". > > I am not sure what's wrong with my code, any tips/suggestions are greatly > appreciated. > > settings.py > > SOCIAL_AUTH_PIPELINE = ( > ... > 'accounts.pipeline.get_password', > ...) > > pipeline.py > > from django.shortcuts import redirectfrom social.pipeline.partial import > partial > @partialdef get_password(strategy, details, user=None, is_new=False, *args, > **kwargs): > if is_new: > return redirect('accounts_signup_social') > else: > return > > views.py > > def get_password(request): > if request.method == 'POST': > request.session['password'] = request.POST.get('password') > backend = request.session['partial_pipeline']['backend'] > return redirect('social:complete', backend=backend) > return > render_to_response('accounts/social_signup.html',{"form":SocialSignUpForm}, > RequestContext(request)) > > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/57ad250e-c794-474a-bf80-549d1e667585%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.

