在Django SessionWizardView中包含非表单

时间:2012-08-13 06:15:10

标签: django django-forms

非格式网页是否可以包含在django SessionWizardView中?

例如,我希望用户使用FillOut Form1,Form2,然后查看网页(在同一会话中)(单击下一步),然后是Form3?所有这一切,同时保持相同的会话。

如果是这样,这怎么做得最好?任何例子或片段?

1 个答案:

答案 0 :(得分:1)

对此有一个相当容易的黑客攻击。创建一个普通的旧表单,其中包含一个对用户隐藏的字段,没有内容,并且不是必需的。

我这样做:

class BlankForm(forms.Form):
    nothing     = forms.CharField(required=False, widget=HiddenInput)

将其包含在SessionWizardView调用中,就像其他页面一样:

SessionWizardView.as_view([Form1, Form2, BlankForm, Form3])

在模板页面中,您可以使用这样的逻辑来显示信息:

{% if wizard.steps.current == '2' %}
    Whatever you want to show on the BlankForm
{% endif %}