Django FormTools 使用指南
from django import forms
from formtools.wizard.views import SessionWizardView
# 定义表单类
class FirstForm(forms.Form):
your_name = forms.CharField(label='Your name')
class SecondForm(forms.Form):
your_email = forms.EmailField(label='Your email')
class ThirdForm(forms.Form):
your_message = forms.CharField(widget=forms.Textarea)
# 创建向导视图
class MyWizard(SessionWizardView):
def done(self, form_list):
# 处理完成的表单列表
return render(self.request, 'done.html', {
'form_data': [form.cleaned_data for form in form_list],
})
# 在urls.py中配置路由
from .views import MyWizard
urlpatterns = [
path('wizard/', MyWizard.as_view([FirstForm, SecondForm, ThirdForm])),
]
这个示例展示了如何使用Django FormTools库中的SessionWizardView
来创建一个多步骤向导表单。首先定义了三个简单的表单类,然后创建了一个继承自SessionWizardView
的视图类MyWizard
,并实现了done
方法来处理最后完成的表单数据。最后,在urls.py
中配置了相应的路由,使得用户可以通过访问指定的URL来使用这个多步骤表单。
评论已关闭