【发布时间】:2010-12-15 12:47:48
【问题描述】:
我有一个将连接到 ModelForm 的大型 Django 模型(73 个字段)。我想结合使用 Form Wizard 和 Form Preview contrib 应用程序中的功能。
即,表单字段将被拆分为多个页面,用户将有机会在创建模型实例之前查看/预览数据。
是否有此类事情的最佳实践或示例代码?
【问题讨论】:
-
这不值得回答,但无论如何:将 FormWizard 用于最琐碎的事情之外的任何事情都可能会出现问题(至少,对我来说)。这是一件事-您无法以明显的方式控制传递给表单
__init__的内容(初始值除外)。那么您将如何为表单的__init__提供“实例”关键字参数?当然有有种方法——例如,我通过声明一个内部类来解决它,该类继承自必要的 ModelForm 并覆盖__init__。然后,您必须将该类分配给 .form_list 的元素。不是很明显... -
... 如果您要使用 FormWizard,您必须处理很多此类事情。我并不是说 FormWizard 不好,但它肯定不是很容易使用。还有 73 个字段?我知道,这听起来可能很愚蠢,但是,也许有一种方法可以通过将任务分解为多个较小的任务来简化任务?比如重组你的模型并分别处理它们或其他什么?
-
感谢您的反馈,害羞。信不信由你,这 73 个字段 已 被简化了。这只是我们需要收集的大量数据。 :-)
标签: python django forms wizard preview