正如标题所说:我需要在提交表单后呈现模板,此表单由while let data = Provider.getData() {
...
}
处理,方法为FormView
。使用方法form_valid
,我可以在提交后呈现模板,但可能使用post
,我可以用最干净的方式完成。
我该怎么做?
答案 0 :(得分:11)
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())