3 つのフォームを含むフォーム ウィザードがあります。基本的に、私がやろうとしているのは、1 番目と 2 番目のフォームから 3 番目のフォームにデータを渡すことです。process_step
私が試したのは、ウィザード クラスにディクショナリ属性を追加し、メソッドが呼び出されるたびにそのディクショナリを更新することです。Django 1.4 のドキュメントには、送信されたすべてのステップでページがレンダリングされるたびに、このメソッドが呼び出されることが記載されています。
次のサンプル コードでは、辞書属性を整数に変更し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)
このソリューション以外に、フォーム ウィザードのフォーム間でデータを渡すより洗練された方法はありますか?