I would also turn the logic of `get_context_data` around but as you note, it's a much bigger change since we'd have to do it consistently throughout this page (and maybe other pages too).
Maybe you could open a ticket for that?

I haven't tested, but I believe the current version of this code is still broken: `get_success_url` accesses `self.object` which will not be set because this code path does not call `get_context_data`.

I think moving this line to `get` and `post` is the correct thing to do, and it will simplify the code too.