No project description provided
Project description
django-smart-admin
SmartAdmin is a set of small Django Admin utilities that aims to remove some of the common annoying configuration issues:
It is not intended to be a fully replacement of the official Admin, but only offers a set of mixin/utilities the often ( at least for me) need to be copied/pasted in each project.
Bonus
- easily group models by context instead by app
- display admin logentry for any user
- display group members
- display user permissions
- display permission owners
- Display all columns ModelAdmin mixin
- log added/removed permissions for User/Group
- log added/removed groups for User
- ability to set
readonly_fields = ('__all__',)
(ReadOnlyMixin) - display all model fields in
changelist
(DisplayAllMixin) - automatically creates filter for each indexed field (SmartAutoFilterMixin)
- improved fieldset allows the use of
__others__
to include any field not included in others fieldsets (FieldsetMixin) - ability to customise Autocomplete labels
- user defined "site panels"
Demo is available at https://django-smart-admin.herokuapp.com/. (Any user/password combination is accepted)
Components
- LinkedObjectsMixin
- ReadOnlyMixin
- FieldsetMixin
- DisplayAllMixin
Install
pip install django-smart-admin
or (if you want to install extra admin features)
pip install django-smart-admin[full]
In your settings.py
INSTALLED_APPS = [
# "django.contrib.admin", # removes standard django admin
'django_sysinfo', # optional
'adminactions', # optional
'adminfilters', # optional
'admin_extra_buttons', # optional
'smart_admin.apps.SmartTemplateConfig', # templates
'smart_admin', # use this instead of 'django.contrib.admin'
'smart_admin.apps.SmartLogsConfig', # optional: log application
'smart_admin.apps.SmartAuthConfig', # optional: django.contrib.auth enhancements
]
SMART_ADMIN_SECTIONS = {
'Demo': ['demo', ],
'Security': ['auth',
'auth.User',
],
'Logs': ['admin.LogEntry',
],
'Other': [],
'_hidden_': ["sites"]
}
# add some bookmark
SMART_ADMIN_BOOKMARKS = [('GitHub', 'https://github.com/saxix/django-smart-admin')]
# no special permissions to see bookmarks
SMART_ADMIN_BOOKMARKS_PERMISSION = None
# add 'profile' link on the header
SMART_ADMIN_PROFILE_LINK = True
# display all users action log, not only logged user
SMART_ADMIN_ANYUSER_LOG = True
In your urls.py
from django.contrib import admin
from django.urls import include, path
import adminactions.actions as actions
from django.contrib.admin import site
admin.autodiscover()
actions.add_to_site(site)
urlpatterns = [
path('', admin.site.urls),
path('adminactions/', include('adminactions.urls')),
]
Project Links
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.
Source Distribution
django-smart-admin-2.1.0.tar.gz
(27.5 kB
view details)
File details
Details for the file django-smart-admin-2.1.0.tar.gz
.
File metadata
- Download URL: django-smart-admin-2.1.0.tar.gz
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 importlib_metadata/4.3.0 pkginfo/1.5.0.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e118119321154a48633b185657a17863d7998169249dfae8c5f2f9b8a5661c0e |
|
MD5 | 0b3bafc907bbc18082198ecf9d42ca44 |
|
BLAKE2b-256 | d84e1c777ff658c5e131174a738c3f02c3584fb4625718162894130e138903a7 |