表单提交按钮

时间:2015-07-10 11:29:32

标签: django python-social-auth

我有一个部分功能管道,等待表单点击提交按钮。 单击按钮时,管道应继续运行。 我正在考虑这种方法,但是如何在管道中获取请求对象?

<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

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

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

1 个答案:

答案 0 :(得分:0)

我通过在视图代码中添加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')