django - 多页 django 表单 - slider 或 FormWizard?

标签 django css django-forms django-formwizard

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

我正在评估两个演示选项:

  1. 使用 FormWizard 在多个页面上呈现表单
  2. 在 slider 上显示表单,例如 CSS3 slider .

slider 实际上只有一页长,使用 CSS3 给人以幻灯片的印象。它使所有内容区域并排 float , overflow hidden ,如果我们有 5 张幻灯片,则将页面 width 设置为 500%,并移动左边距 -100% 以显示下一张幻灯片.所以它都是一页,但看起来表单显示在滑动页面上。

对我来说, slider 方法的优点是只有一个表单,用户只在幻灯片结束时提交一次表单,因此可以来回进行更改。(这将是一种常见情况) .

相对于 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 slider 如何完成验证,但我想验证应该在客户端进行。

此外,Django 的 FormWizard 使用 Cookie 存储后端或 Session 存储后端来存储信息,这使得步骤之间的导航和修改先前存储的数据变得非常简单。

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

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

相关文章:

python - 使用 django 创建个人资料页面

python - django - 使用 django.test.Client 对用户进行身份验证

python - 如果它是某个类,我怎么能有条件地只记录一些东西?

javascript - 循环进度条未停在所需的百分比

python - 如何使用 django Rest 框架解析多部分表单数据中的多个文件?

jquery - 如何将嵌套列表显示为平面表格?

html - 如何在简单的 HTML 页面中对齐 div

django - django widget_tweaks 可以将输入渲染为文本区域框吗?

python - Django目录上传获取子目录名

python - 在表单中创建新的外键