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

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

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

最佳答案 是的,这是可能的.最简单的方法是使用
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),
    )

对于Previous / First步骤,您可以使用{{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>
点赞