在django中为540个字段创建输入表单。最好的方法?

时间:2015-03-06 07:53:22

标签: python django django-forms django-formwizard

我是django的新手,想听听你对如何创建表单的意见 一张包含540个字段的表格。什么是最好的方法?最好将模型形式拆分为多个组件,还是创建一个模板来收集部分输入(每页多个输入)并继续遍历所有字段?如果你能指出一些信息和/或例子,那就太棒了。 感谢。

2 个答案:

答案 0 :(得分:4)

Django有一个Form wizard,可以存储多个页面累积的信息,验证每个步骤。

  

工作原理

     

以下是用户如何使用向导的基本工作流程:

     
      
  1. 用户访问向导的第一页,填写表单并提交。
  2.   
  3. 服务器验证数据。如果它无效,则会再次显示该表单,并显示错误消息。如果它有效,服务器会在后端保存向导的当前状态,并重定向到下一步。
  4.   
  5. 对于向导中的每个后续表单重复步骤1和2。
  6.   
  7. 一旦用户提交了所有表单并且所有数据都已经过验证,向导将处理数据 - 将数据保存到数据库,发送电子邮件或应用程序需要执行的任何操作。
  8.   

答案 1 :(得分:1)

您可以考虑的一种方法是将模型拆分为语义切片,每个切片都是一个模型,并且具有更多可消化数量的字段。

然后映射这些"切片模型"使用一对一关系(由OneToOneField实现)返回主对象。

在你的向导中,你可以在开始时启动一个事务,只有在所有事情都很顺利的情况下才能提交。