我尝试使用 django-formtools 附带的表单向导在 django 中实现多步骤表单,到目前为止,它会逐步遍历所有表单,直到最后一个表单,然后不是调用该done方法,而是页面返回到第一个表单。我的一些代码如下所示:
网址.py
from django.urls import path
from minereg import views
urlpatterns = [
path('',views.ContactWizard.as_view(views.FORMS),name="registration"),
]
视图.py
from django.shortcuts import render
from formtools.wizard.views import SessionWizardView
from .forms import RegForm1,RegForm2
FORMS = [("home",RegForm1),("bank",RegForm2)]
TEMPLATES = {"home":"home.html",
"bank":"bank.html"}
class ContactWizard(SessionWizardView):
def get_template_names(self):
return [TEMPLATES[self.steps.current]]
def done(self,form_list, **kwargs): #Required
form_data = [form.cleaned_data for form in form_list]
print(form_data)
return render(self.request,template_name = "thanks.html")
方法中的print(form_data)indone没有发生,显示代码永远不会到达那一点。
万千封印
相关分类