python-social-auth の部分的なパイプラインを使用して、新しいユーザーのパスワードを収集しようとしています。なんらかの理由で、パイプラインを再開できません。フォームを送信した後、ページがパスワード収集ページに戻ります。
配線されているのは、http.../complete/backend-name を入力しても、ページがパスワード収集ページにリダイレクトされることです。レンダリングが無限ループに入るように見えます。パスワード収集ページは最初に完全なページを指し、完全なページはパスワード収集ページに直接戻ります。REDIRECT_FIELD_NAME の値を確認したところ、「次」です。
コードの何が問題なのかわかりません。ヒントや提案をいただければ幸いです。
設定.py
SOCIAL_AUTH_PIPELINE = (
...
'accounts.pipeline.get_password',
...
)
パイプライン.py
from django.shortcuts import redirect
from social.pipeline.partial import partial
@partial
def get_password(strategy, details, user=None, is_new=False, *args, **kwargs):
if is_new:
return redirect('accounts_signup_social')
else:
return
ビュー.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))