Sweetohm

Michel Casabianca

Il est souvent pratique de n’autoriser l’accès à une méthode d’une vue Django qu’aux seuls super utilisateurs. Pour ce faire, on pourra utiliser le décorateur suivant :

def super_user(function):
    """Decorator to grant access to super user only."""
    def decorator(request):
        if not request.user.is_superuser:
            raise PermissionDenied("Must be superuser to get configuration")
        return function(request)
    return decorator

Ainsi, la fonction foo() d’une vue ne sera accessible qu’à un super utilisateur si on la décore avec la fonction super_user :

@super_user
def foo():
    pass

Enjoy!