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',
In your main urls.py, at the end add:
# Load django-perm urlpatterns += patterns('', url('^/perm/', include('perm.urls')))
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 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)
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.
Release files for django-perm 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-perm-2.2.1.tar.gz | 7.6 kB | Details |
Release files / django-perm-2.2.1.tar.gz
| Download URL | django-perm-2.2.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c38e5b08bc2d77a7e511f6b895e7ba08c215e88757d3e4c7d64d200436a3bf78
|
|
BLAKE2b-256 checksum How to use checksums |
23678c0f295bcb9d154290fbcadae3de9817e6580128e4f37c24954220a15ae4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |