如何在使用 TemplateView 和 crispy 表单时显示验证错误消息
How to show validation error messages while using TemplateView and crispy forms
如何使用 Crispy Forms return 带有错误消息的表单。我无法使用 FormView,因为我试图将多个模型表单添加到同一个标签。
class Test(TemplateView):
template_name = 'login.html'
def get(self, request, *args, **kwargs):
form = RegistrationForm()
return render(request, self.template_name, {'form': form})
def post(self, request, *args, **kwargs):
form = RegistrationForm(request.POST)
if form.is_valid():
print 'valid'
else:
form = RegistrationForm()
print self.get_context_data()
for x in self.get_context_data():
print type(x)
print form.errors
return render(request, self.template_name,{'form': form})
表单无效时不要创建新表单。它会覆盖包含错误的绑定表单。
如果您删除该行,那么无论您在模板中使用 {{ form }}
还是 crispy 表单,表单都将呈现错误。
def post(self, request, *args, **kwargs):
form = RegistrationForm(request.POST)
if form.is_valid():
# do something with form, then redirect
else:
form = RegistrationForm() # remove this line
return render(request, self.template_name, {'form':form})
如何使用 Crispy Forms return 带有错误消息的表单。我无法使用 FormView,因为我试图将多个模型表单添加到同一个标签。
class Test(TemplateView):
template_name = 'login.html'
def get(self, request, *args, **kwargs):
form = RegistrationForm()
return render(request, self.template_name, {'form': form})
def post(self, request, *args, **kwargs):
form = RegistrationForm(request.POST)
if form.is_valid():
print 'valid'
else:
form = RegistrationForm()
print self.get_context_data()
for x in self.get_context_data():
print type(x)
print form.errors
return render(request, self.template_name,{'form': form})
表单无效时不要创建新表单。它会覆盖包含错误的绑定表单。
如果您删除该行,那么无论您在模板中使用 {{ form }}
还是 crispy 表单,表单都将呈现错误。
def post(self, request, *args, **kwargs):
form = RegistrationForm(request.POST)
if form.is_valid():
# do something with form, then redirect
else:
form = RegistrationForm() # remove this line
return render(request, self.template_name, {'form':form})