使用 FormView django 在 form_valid 中呈现模板而不是 success_url
Render a template instead a success_url in form_valid with FormView django
正如标题所说:我需要在提交表单后渲染一个模板,这个表单是用FormView
和方法form_valid
处理的。使用方法 post
,我可以在提交模板后渲染它,但也许使用 form_valid
,我可以以最干净的方式完成它。
我该怎么做?
form_valid
的默认实现是重定向到success_url
,你只需要覆盖它来渲染一些页面。这是例子。
class ChangePasswordPage(FormView):
template_name = 'core/password-change.html'
form_class = PasswordChangeForm
def form_valid(self, form):
form.save()
messages.success(self.request, "Your password is changed")
return render(self.request, 'core/password-change-success.html', self.get_context_data())
正如标题所说:我需要在提交表单后渲染一个模板,这个表单是用FormView
和方法form_valid
处理的。使用方法 post
,我可以在提交模板后渲染它,但也许使用 form_valid
,我可以以最干净的方式完成它。
我该怎么做?
form_valid
的默认实现是重定向到success_url
,你只需要覆盖它来渲染一些页面。这是例子。
class ChangePasswordPage(FormView):
template_name = 'core/password-change.html'
form_class = PasswordChangeForm
def form_valid(self, form):
form.save()
messages.success(self.request, "Your password is changed")
return render(self.request, 'core/password-change-success.html', self.get_context_data())