class CancelMixin(object):
    default_cancel_url = '/'
    
    def get_context_data(self, arg1=None, **kwargs):
        if arg1 is None:
            context = super(CancelMixin, self).get_context_data(**kwargs)
        else:
            # For WizardViews
            context = super(CancelMixin, self).get_context_data(arg1, **kwargs)

        # First try the referrer URL
        referrer = self.request.META.get('HTTP_REFERER', None) # Known typo
        if referrer is None:
            context['cancel_url'] = self.default_cancel_url
        else:
            context['cancel_url'] = referrer

        return context