我有一个很长的表格,想分成多页。

我正在评估两种显示方式:


使用FormWizard将表单显示在多个页面上
CSS3 slider之类的滑块上显示表单。


滑块实际上只有一页长,使用CSS3可以给幻灯片留下印象。如果我们有5张幻灯片,它将所有内容区域紧挨着浮动,隐藏上溢,将页面width设置为说500%,并向左移动-100%以显示下一张幻灯片。因此,它全都是一页,但看起来表单正在滑动页面上显示。

对我来说,滑杆方法的优点是只有一个表单,并且用户在幻灯片末尾仅提交一次表单,因此可以来回进行更改(这是常见的情况)。

与具有FormWizard的微型表格并在每页之后提交它们相对。对我来说,FormWizards似乎很复杂,特别是如果用户想要更改任何先前的页面响应时。我的表单页面上也需要FileField,看来FormWizard仅在最后一页接受FileField

但是,我还没有看到很多人使用这种滑动形式(CSS3或JScript一种)方法。因此,作为一个新手,我想知道这样做是否存在一些明显的陷阱?

最佳答案

我只能写以前使用过的FormWizard。根据Django文档的“处理文件”部分,该文件可在

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

FileField可以在FormWizard实现的任何步骤中使用。我发现使用Django的FormWizard确实有帮助,它为您提供了Forms的所有标准功能。这意味着您可以轻松地创建和操作表单,在每个步骤中验证字段等。我不知道CSS3滑块如何完成验证,但我想验证应该在客户端进行。

另外,Django的FormWizard使用Cookie存储后端或会话存储后端来存储信息,这使得在步骤之间进行导航以及修改先前存储的数据变得非常简单。

希望我对您的决定有所帮助!我可以在上面提供的链接中的FormWizard Django文档中找到更多信息。

关于django - 多页Django表单-滑块还是FormWizard?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11302572/

10-16 22:52