0

Either I'm not getting enough sleep or I'm missed something obvious.

No matter what I do, I can't get messages to display from a class based view after a HttpResponseRedirect.

Here's my view:

class Add(SuccessMessageMixin, LoginRequiredMixin, CreateView):
    template_name = "apps/add.html"
    form_class = forms.Add
    success_message = "Report was added successfully"

    def form_valid(self, form):
        team = get_object_or_404(t_models.Team, owner=self.request.user)
        self.object = form.save(commit=False)
        self.object.team = team
        self.object.recorded_by = self.request.user
        self.object.save()
        form.save_m2m()
        return HttpResponseRedirect(self.get_success_url())

    def get_success_url(self):
        return reverse('thing_detail', kwargs={'pk': self.object.id})

So far I've double checked that I have all the sessions settings right, all the messages set up right and I've rebooted the VE and flushed the cache.

Any suggestions?

Dave Merwin
  • 1,382
  • 2
  • 22
  • 44

1 Answers1

0

Try re-ordering your mixins to Add(LoginRequiredMixin, SuccessMessageMixin, CreateView):

Thomas Jiang
  • 1,303
  • 11
  • 16