Django表单向导:如何创建;“确认”;屏幕作为向导的最后一步?
从先前的问题重新发布: 我正在使用Django 1.4.3中的FormWizard功能 我已成功创建了一个4步表单。在表单的前3个步骤中,它正确地从用户获取信息,验证信息,等等。在步骤4中,它现在只显示一个“确认”按钮。没有别的了。当您在步骤4中点击“确认”时,会在done()函数中对其执行一些有用的操作。到目前为止一切正常 但是,我希望在步骤4(确认步骤)中,向用户显示他们在前面步骤中输入的数据,以供审查。我正试图找出最无痛的方法来实现这一点。到目前为止,我正在上下文中创建一个名为formList的条目,其中包含已完成表单的列表 类my4StepWizard(会话向导视图): 表单#1有一个名为myField的输入字段。因此,在步骤4的模板中,我希望执行{{formList.1.clean_myField}。但是,当我这样做时,会出现以下错误: 异常值: “my4StepWizard”对象没有“cleaned_data”属性Django表单向导:如何创建;“确认”;屏幕作为向导的最后一步?,django,Django,从先前的问题重新发布: 我正在使用Django 1.4.3中的FormWizard功能 我已成功创建了一个4步表单。在表单的前3个步骤中,它正确地从用户获取信息,验证信息,等等。在步骤4中,它现在只显示一个“确认”按钮。没有别的了。当您在步骤4中点击“确认”时,会在done()函数中对其执行一些有用的操作。到目前为止一切正常 但是,我希望在步骤4(确认步骤)中,向用户显示他们在前面步骤中输入的数据,以供审查。我正试图找出最无痛的方法来实现这一点。到目前为止,我正在上下文中创建一个名为formL
似乎我放在表单列表中的表单是无限的。所以它们不包含用户的数据。是否有一个修复程序可用于获取数据本身?我真的很想像上面那样使用上下文来传递数据。如果三个表单中没有重复的字段名,可以使用WizardView.get_all_cleaned_data()。它返回所有数据的dict,这些数据可以通过get_context_data()传递给模板,正如您试图做的那样,但我希望找到更好的方法 如果三个表单中没有任何重复的字段名,可以使用WizardView.get_all_cleaned_data()。它返回所有数据的dict,这些数据可以通过get_context_data()传递给模板,正如您试图做的那样,但我希望找到更好的方法
def get_template_names(self):
return [myWizardTemplates[self.steps.current]]
def get_context_data(self, form, **kwargs):
context = super(my4StepWizard, self).get_context_data(form=form, **kwargs)
formList = [self.get_form_list()[i[0]] for i in myWizardForms[:self.steps.step0]]
context.update(
{
'formList': formList,
}
)
return context
def done(self, form_list, **kwargs):
# Do something here.
return HttpResponseRedirect('/doneWizard')