views.py 608 B

12345678910111213141516171819
  1. from django.views.generic.edit import FormMixin
  2. from django.contrib import messages
  3. class SuccessMessageMixin(FormMixin):
  4. """
  5. Adds a success message on successful form submission.
  6. """
  7. success_message = ''
  8. def form_valid(self, form):
  9. response = super(SuccessMessageMixin, self).form_valid(form)
  10. success_message = self.get_success_message(form.cleaned_data)
  11. if success_message:
  12. messages.success(self.request, success_message)
  13. return response
  14. def get_success_message(self, cleaned_data):
  15. return self.success_message % cleaned_data