我正在使用 Django 1.4.3 中的 FormWizard 功能。
我已经成功创建了一个 4 步表单。在表单的前 3 个步骤中,它正确地从用户那里获取信息、验证信息等。在第 4 步中,它现在只显示一个“确认”按钮。没有其他的。当您在第 4 步中点击“确认”时,请在 did() 函数中执行一些有用的操作。到目前为止,一切正常。
但是,我想在步骤 4(确认步骤)中向用户显示他们在前面的步骤中输入的数据以供审核。我正在尝试找出最轻松的方法来实现这一目标。到目前为止,我正在上下文中创建一个名为 formList 的条目,其中包含已完成的表单列表。
class my4StepWizard(SessionWizardView):
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')
表单 #1 有一个名为 myField 的输入字段。
因此,在步骤 #4 的模板中,我想要执行 {{ formList.1.clean_myField }}。但是,当我这样做时,我收到以下错误:
异常值:
“my4StepWizard”对象没有属性“cleaned_data”
看来我放入 formList 的表单是无限的。因此它们不包含用户的数据。有没有可以用来获取数据本身的修复程序?我真的很想使用上下文来传递数据,就像我上面所做的那样。