【问题标题】:Django Forms redirect on processing of a step in Wizard处理向导中的步骤时 Django Forms 重定向
【发布时间】:2019-08-01 20:48:04
【问题描述】:

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

process_step() 之类的方法本来是完美的方法,但无法在其中返回重定向。

我正在查看的文档

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

【问题讨论】:

    标签: python django django-forms


    【解决方案1】:

    你可以像这样覆盖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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 2014-07-07
      • 2021-09-07
      相关资源
      最近更新 更多