# -*- coding: utf-8 -*- from django.contrib.auth.mixins import AccessMixin, PermissionRequiredMixin class PermissionRequired403Mixin(PermissionRequiredMixin): """ Raise an exception instead of redirecting to login. """ raise_exception = True class StaffOnlyMixin(AccessMixin): """ Verify the current user is staff. """ def dispatch(self, request, *args, **kwargs): if not request.user.is_staff: return self.handle_no_permission() return super().dispatch(request, *args, **kwargs)