You might want to use a hidden input field to transmit the cancel action each time the form is submitted:
<input type="hidden" name="redirect" value="{{ cancel_action }}" />
And then read it in the view:
def get_context_data(self, form, **kwargs):
# ...
if self.request.GET.get('redirect'):
# ...
elif self.request.POST.get('redirect'):
context.update({ 'cancel_action' : self.request.POST.get('redirect') })
# ...
return context