非表单网页可以包含在 django SessionWizardView 中吗?
例如,我希望用户填写Form1,Form2,然后查看网页(在同一会话中)(单击下一步),然后Form3?所有这一切都在保持相同的会话的同时进行。
如果是这样,如何最好地实现这一点?有什么例子或片段吗?
对此有一个相当简单的技巧。创建一个普通的旧表单,其中有一个对用户隐藏的字段,没有内容,并且不是必需的。
我这样做:
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 %}