在 Django SessionWizardView 中包含非表单

问题描述 投票:0回答:1

非表单网页可以包含在 django SessionWizardView 中吗?

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

如果是这样,如何最好地实现这一点?有什么例子或片段吗?

django django-forms
1个回答
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 %}
© www.soinside.com 2019 - 2024. All rights reserved.