【发布时间】:2012-06-18 00:23:56
【问题描述】:
我有一个包含 3 个表单的表单向导。基本上,我想做的是将数据从第一种和第二种形式传递到第三种形式。我尝试的是在向导类中添加一个字典属性,并在每次调用 process_step 方法时更新该字典。 Django 1.4 documentation 表示每次为所有提交的步骤呈现页面时都会调用此方法。
在下面的示例代码中,字典属性被更改为整数self.test 以保持简单。在这种情况下,每次调用 process_step 方法时,self.test 的值都是 2,永远不会增加。似乎每个表单都调用了方法__init__。
class MyWizard(SessionWizardView):
def __init__(self, *args, **kwargs):
super(MyWizard, self).__init__(*args, **kwargs)
self.test = 1
def process_step(self, form):
self.test += 1
print self.test
return self.get_form_step_data(form)
除了这个解决方案,还有更优雅的方式在表单向导的表单之间传递数据吗?
【问题讨论】: