转到表单向导中的特定步骤

时间:2016-01-06 17:38:37

标签: django django-forms django-formwizard

是否可以在FormWizard表单上添加一个按钮,该按钮可以将用户引导到向导中的特定步骤?

我显然可以让他们回去或重新开始,但我希望能够提供进入特定步骤并更改其参赛作品的机会。

1 个答案:

答案 0 :(得分:2)

是的,这是可能的。最简单的方法是使用NamedUrlWizardView

如果使用简单WizardView,则必须发送wizard_goto_step参数,其值等于步骤名称。

假设你WizardView有下一步的步骤

class OrderWizardView(SessionWizardView):
    form_list = (
        ('select_customer', forms.WizardCustomerForm),
        ('products', forms.WizardProductFormset),
        ('order', forms.WizardOrderForm),
        ('customer', forms.WizardCustomerDetailsForm),
        ('review', forms.WizardReviewForm),
    )

对于上一个/第一步,您可以使用{{ wizard.steps.prev }}{{ wizard.steps.first }}模板变量。

<button name="wizard_goto_step" value="{{ wizard.steps.first }}">First Step</button>
<button name="wizard_goto_step" value="{{ wizard.steps.prev }}">Prev Step</button>

如果您需要特定步骤 - 请使用其名称!

<button name="wizard_goto_step" value="select_customer">Select customer</button>
<button name="wizard_goto_step" value="products">Add products</button>
...
<button name="wizard_goto_step" value="review">Review</button>