Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/silentsokolov/django-admin-permissions
Very simple extension that adds a permissions check on the field in admin
https://github.com/silentsokolov/django-admin-permissions
django manage-permissions python
Last synced: 8 days ago
JSON representation
Very simple extension that adds a permissions check on the field in admin
- Host: GitHub
- URL: https://github.com/silentsokolov/django-admin-permissions
- Owner: silentsokolov
- License: mit
- Created: 2013-12-27T10:57:33.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-09T03:18:23.000Z (about 1 month ago)
- Last Synced: 2024-10-28T05:56:46.788Z (19 days ago)
- Topics: django, manage-permissions, python
- Language: Python
- Homepage:
- Size: 47.9 KB
- Stars: 9
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://github.com/silentsokolov/django-admin-permissions/actions/workflows/build.yml/badge.svg?branch=master
:target: https://github.com/silentsokolov/django-admin-permissions/actions?query=workflow%3Abuild.. image:: https://codecov.io/gh/silentsokolov/django-admin-permissions/branch/master/graph/badge.svg
:target: https://codecov.io/gh/silentsokolov/django-admin-permissionsdjango-admin-permissions
========================Very simple extension that adds a permissions check on the field in admin
Requirements
------------* Python 2.7+ or Python 3.3+
* Django 1.8+Installation
------------Use your favorite Python package manager to install the app from PyPI, e.g.
Example:
``pip install django-admin-permissions``
Add ``admin_permissions`` to ``INSTALLED_APPS``:
Example:
.. code:: python
INSTALLED_APPS = (
...
'admin_permissions',
...
)Example usage
-------------Use class ``FieldPermissionMixin`` and set permissions using ``fields_permissions``:
.. code:: python
from django.contrib import admin
from admin_permissions.admin import FieldPermissionMixinclass ArticleAdmin(FieldPermissionMixin, admin.ModelAdmin):
fieldsets = [
('General', {
'fields': ['title', 'slug', 'text'],
}),
('SEO', {
'fields': ['seo_title', 'seo_description'],
}),
]fields_permissions = {
# 'permission': ('field',)
'articles.can_change_admin_seo_fields': ('seo_title', 'seo_description'),
}# in articles/models.py:
class Article(models.Model):
class Meta:
permissions = (
('can_change_admin_seo_fields', _('Show SEO fields')),
)Then run makemigrations to add all the permissions in your database
Options
~~~~~~~If you want the user to see the field, but could not edit them, set ``fields_permissions_read_only`` is ``True``, default ``False``.