Python 表单提交按钮后社交身份验证部分管道恢复

Python social auth partial pipeline resume after form submit button

我有一个部分功能管道等待表单单击 提交 按钮。 单击按钮时,管道应继续移动。 我在考虑这种方法,但我怎样才能在管道中获取请求对象?

<form action="" method="post">{% csrf_token %}
    {{ form.as_p }}
<input type="submit" value="Submit", name="SumbitSocialData">


@partial
def partial_pipeline(backend, user, response, is_new=None, *args, **kwargs):
    ...
    request = ?
    if 'SumbitSocialData' in request.POST:
        # move on

如何访问管道中的请求对象?

有人对如何实现这个有更好的想法吗?

我通过在会话中添加一个 submit_social_data 值解决了它,在视图代码中:

def form_valid(self, form):
    ...
    self.request.session['submit_social_data'] = True
    return redirect(self.get_success_url())

然后,在管道中我检查是否是一个新的社交帐户以及它是否单击了按钮:

@partial
def twitter_email(backend, user, response, is_new=None,  *args, **kwargs):
     ...
     submit_social_data = backend.strategy.session.get('submit_social_data', None)
     if is_new and not submit_social_data:
                return redirect('redirect_url')