使用Django表单向导强制步骤

1 投票
1 回答
689 浏览
提问于 2025-04-16 16:51

我想知道怎么强制让 django表单向导 按步骤进行。

我现在有第0步,显示一个订阅页面,上面有不同的账户类型。

我希望能给别人发送一个链接,比如/join/basic 或 /join/pro

然后这个链接能把他们引导到正确的步骤/表单。

我发现了:

FormWizard.parse_params()

这是一个可以用来保存请求对象状态的钩子,

以及从你的URL配置中捕获到的参数。

默认情况下,这个功能是没有任何作用的。

我不太确定怎么用这个来改变被验证或渲染的表单。

1 个回答

0

我觉得你应该在这里处理一下“切换表单”的行为:

FormWizard.process_step()

在这里,你会看到之前提交过的(并且有效的)表单数据,这里应该是你“改变向导内部状态”的地方(比如说,改变表单列表)。

请注意,这个方法在每次处理一个步骤时都会被调用。

相关文档在这里: http://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/#django.contrib.formtools.wizard.FormWizard.process_step

撰写回答