Class based Django permissions for Django models.
Project description
Simple class based permissions.
Installation
Install using pip:
pip install django-perm
In settings.py:
# Add to INSTALLED_APPS
‘perm’,
# Add to AUTHENTICATION_BACKENDS
‘perm.backends.ModelPermissionBackend’,
Usage
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 ProjectPermissions(FooPermissions):
- def has_perm_wiggle(self):
# Let’s ask the Foo object return self.obj.user_can_wiggle(self.user)
- def get_perm_change_queryset(self):
# Foo objects can be changed by their owners return Foo.objects.filter(user=self.user)
Questions
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.
About
django-perm is written by Dylan Verheul (dylan@dyve.net).
License
You can use this under Apache 2.0. See LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.