Как реализовать декоратор класса в python?
class LoginRequiredMixin(View):

    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super(LoginRequiredMixin, self).dispatch(*args, **kwargs)
И от этого класса наследуете все свои порожденные вьюхи.
Например:class ProfileUpdateView(LoginRequiredMixin, UpdateView):
...
Только следите за тем чтобы LoginRequiredMixin был первым базовым классом. Т.к первым делом будет вызываться его dispatch а потом уже все остальные, если пройдут проверку.
Может не будете костылить? А используете наследование?
Еще в urls.py можно обернуть вьюху login_requireдом. Тоже частая метода.