私はそれ以外の方法で、render_templateメソッドをオーバーライドしました。ここで私の解決策。私は特定の形態は、あなたがあなたのurls.pyにFormViewコントロールに渡すフォームの一覧に条件文を導入できるオプションにするには...)(process_stepについて
def render_template(self, request, form, previous_fields, step, context):
if not step == 0:
# A workarround to find the type value!
attr = 'name="0-type" value='
attr_pos = previous_fields.find(attr) + len(attr)
val = previous_fields[attr_pos:attr_pos+4]
type = int(val.split('"')[1])
if step == 2 and (not type == 1 and not type == 2 and not type == 3):
form = self.get_form(step+1)
return super(ProductWizard, self).render_template(request, form, previous_fields, step+1, context)
return super(ProductWizard, self).render_template(request, form, previous_fields, step, context)
process_step()メソッドは、フォームが送信された後にデータを後処理することを目的としています。任意のフォームをオプションにするには、FormViewに渡すフォームのリストに条件を導入することができます。https://docs.djangoproject.com/en/1.5/ref/contrib/formtools/form-wizard/#conditionally-view-skip固有のステップ – tijs