我是django的新手,想听听你对如何创建表单的意见 一张包含540个字段的表格。什么是最好的方法?最好将模型形式拆分为多个组件,还是创建一个模板来收集部分输入(每页多个输入)并继续遍历所有字段?如果你能指出一些信息和/或例子,那就太棒了。 感谢。
答案 0 :(得分:4)
Django有一个Form wizard,可以存储多个页面累积的信息,验证每个步骤。
工作原理
以下是用户如何使用向导的基本工作流程:
- 用户访问向导的第一页,填写表单并提交。
- 服务器验证数据。如果它无效,则会再次显示该表单,并显示错误消息。如果它有效,服务器会在后端保存向导的当前状态,并重定向到下一步。
- 对于向导中的每个后续表单重复步骤1和2。
- 一旦用户提交了所有表单并且所有数据都已经过验证,向导将处理数据 - 将数据保存到数据库,发送电子邮件或应用程序需要执行的任何操作。
醇>
答案 1 :(得分:1)
您可以考虑的一种方法是将模型拆分为语义切片,每个切片都是一个模型,并且具有更多可消化数量的字段。
然后映射这些"切片模型"使用一对一关系(由OneToOneField实现)返回主对象。
在你的向导中,你可以在开始时启动一个事务,只有在所有事情都很顺利的情况下才能提交。