Configuration

settings.py

To enable django-authority you just need to add the package to your INSTALLED_APPS setting within your settings.py:

# settings.py
INSTALLED_APPS = (
    ...
    'authority',
)

Make sure your settings.py contains the following settings to enable the context processors:

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.request',
)

django-authority defaults to using a smart cache when checking permissions. This can be disabled by adding the following line to settings.py:

AUTHORITY_USE_SMART_CACHE = False

urls.py

You also have to modify your root URLConf (e.g. urls.py) to include the app’s URL configuration and automatically discover all the permission classes you defined:

from django.contrib import admin
import authority

admin.autodiscover()
authority.autodiscover()

# ...

urlpatterns += patterns('',
    (r'^authority/', include('authority.urls')),
)

If you’re using Django 1.1 this will automatically add a site-wide action to the admin site which can be removed as shown here: Handling permissions using Django’s admin interface.

That’s all (for now).