由于我的应用程序的注册表单对于一个页面来说有点太长,我决定使用SessionWizard
.
我设法让它为我工作,但仍有一件事让我感到厌烦 - 我的表单要求用户上传多个文件,并且每次该步骤出现问题(即ValidationError
)或用户决定后退一步,然后回来,文件丢失,需要重新上传。
我在这里发现了类似的(实际上是相同的)问题,但是该解决方案对我不起作用-可能是因为 Django 1.4 对 FormWizards 的更改。
您对编写自定义get_form
方法或任何其他解决问题的方法有什么建议吗?
提前致谢。
编辑:这是所述向导的代码:
class CompanyRegistrationWizard(SessionWizardView):
file_storage = FileSystemStorage(location=os.path.join(settings.MEDIA_ROOT))
template_name = 'register/wizard_form.html'
def done(self, form_list, **kwargs):
form_data = [form.cleaned_data for form in form_list]
joined_data = {}
for ob in form_data:
joined_data.update(ob)
save_from_the_form_data(self.request, joined_data)
mailer_engage(joined_data)
return HttpResponseRedirect('/success/')