7

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))
4

1 に答える 1