Class based Django permissions for Django models.
Simple class based permissions.
Install using pip:
pip install django-perm
# Add to INSTALLED_APPS 'perm', # Add to AUTHENTICATION_BACKENDS 'perm.backends.ModelPermissionBackend',
In your main urls.py, at the end add:
# Load django-perm urlpatterns += patterns('', url('^/perm/', include('perm.urls')))
In your Django app, create a file permissions.py. Its content might look like this:
from perm.decorators import permissions_for from perm.permissions import ModelPermissions from .models import Foo @permissions_for(Foo) class FooPermissions(ModelPermissions): def has_perm_wiggle(self): # Let's ask the Foo object return self.obj.user_can_wiggle(self.user) def get_queryset_perm_change(self): # Foo objects can be changed by their owners return Foo.objects.filter(user=self.user)
Do you have a question about django-perm? Please ask it on StackOverflow.com so others can help out and/or learn. Tag your question django-perm if possible.
Bugs and requests
If you have found a bug or a request for additional functionality, please use the issue tracker on GitHub.
django-perm is written by Dylan Verheul (firstname.lastname@example.org).
You can use this under Apache 2.0. See LICENSE file for details.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size django-perm-2.5.0.tar.gz (8.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|