我有一个很长的表格,想分成多页。
我正在评估两种显示方式:
使用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/