在向导中处理步骤时,Django表单重定向

时间:2019-02-08 14:26:09

标签: python django django-forms

处理表格后,我正在尝试检查步骤。它上面有4个具有不同值的单选按钮,并且当按下除第4个按钮之外的任何选项时,我希望它直接重定向到向导外部的静态页面。目前,我正在努力寻找一种方法,该方法允许我在done()(太晚了)和render()(在处理页面上的表单之前调用)之外执行此操作。其他人在Django表单向导中是否有实现或正确的方法可以进行重定向?

process_step()这样的东西本来是完美的方法,但是无法在其中返回重定向。

我正在查看的文档

https://docs.djangoproject.com/en/1.7/ref/contrib/formtools/form-wizard/

1 个答案:

答案 0 :(得分:0)

您可以像这样覆盖WizardView的功能render_next_step

views.py中的表单向导类中添加:

def render_next_step(self, form, **kwargs):
    if self.steps.current == 'your_step':
        data = form.cleaned_data
        if data['your_radio1'] or data['your_radio2'] or data['your_radio3']:
            return render_to_response('your_template.html')
    return super().render_next_step(form, **kwargs)