我有一个庞大的Django模型(73个字段),将连接到ModelForm。我想使用表单向导和表单预览contrib应用程序中发现的功能组合。
也就是说,表单字段将分布在多个页面上,并且用户将有机会在创建模型实例之前查看/预览数据。
这种情况有没有最佳实践或示例代码呢?
也就是说,表单字段将分布在多个页面上,并且用户将有机会在创建模型实例之前查看/预览数据。
这种情况有没有最佳实践或示例代码呢?
我在我的第一个Django项目中也做了类似的事情。使用基于session的FormWizard,我对其进行了自定义,以便用户可以在任何表单上停止提交数据。
此时,您可以使用FormPreview来显示信息或仅动态生成表单并向用户显示。数据保留在会话中。
你可以将整个字典传递到上下文中,然后在模板中访问它:
# views.py
def get_context_data(self, **kwargs):
context = super(MyWizard, self).get_context_data(**kwargs)
context['all_data'] = self.get_all_cleaned_data()
return context
# template.html
{{ all_data }}
__init__
的内容(除了初始值)。那么你要如何向表单的__init__
提供“实例”关键字参数呢?当然有方法 - 我例如通过声明一个内部类,该类继承自必要的ModelForm并覆盖__init__
来解决它。然后你必须将该类分配给.form_list的一个元素。不是很明显... - shylent