Horizon Decorators

General-purpose decorators for use with Horizon.

horizon.decorators.require_auth(view_func)[source]

Performs user authentication check.

Similar to Django’s login_required decorator, except that this throws NotAuthenticated exception if the user is not signed-in.

horizon.decorators.require_perms(view_func, required)[source]

Enforces permission-based access controls.

Parameters:required (list) – A tuple of permission names, all of which the request user must possess in order access the decorated view.

Example usage:

from horizon.decorators import require_perms


@require_perms(['foo.admin', 'foo.member'])
def my_view(request):
    ...

Raises a NotAuthorized exception if the requirements are not met.