Django表单向导与ModelForm预览
我有一个很大的Django模型(有73个字段),我想把它和一个ModelForm连接起来。我想用Form Wizard和Form Preview这两个功能的组合。
也就是说,表单的字段会分布在多个页面上,用户在创建模型实例之前可以先查看和预览输入的数据。
有没有什么好的做法或者示例代码可以参考呢?
2 个回答
0
你可以把整个字典传递给上下文,然后在你的模板中访问它:
# 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 }}
1
我在我的第一个Django项目中做了类似的事情。我使用了基于会话的FormWizard,并进行了自定义,这样用户就可以在任何表单中停止提交数据。
在这个时候,你可以使用FormPreview来展示信息,或者动态生成表单并展示给用户。数据会保存在会话中。