Utility code and patterns.
Project description
Utility code and patterns.
Free software: BSD 2-Clause License
Installation
pip install django-admin-utils
You can also install the in-development version with:
pip install https://github.com/ionelmc/django-admin-utils/archive/master.zip
Documentation
Terse admin.py
from django.contrib import admin from admin_utils import register, inline from .models import MyModel, OtherModel @register(MyModel) class MyModelAdmin(admin.ModelAdmin): inlines = inline(OtherModel),
If you want custom admin sites:
customsite = admin.AdminSite() @register(MyModel, site=customsite) class MyModelAdmin(admin.ModelAdmin): inlines = inline(OherModel),
Mock admin (mount your views in admin using model wrappers)
Have you ever wanted a page in the admin that appears in the app list but you don’t have any models ? Now you can have that without patching up the admin Site or the templates. Just put this in your admin.py:
from django.urls import path from admin_utils import make_admin_class make_admin_class( app_label="test_app", model_name="Test1", urls=[ path('', views.root, name='test_app_test1_changelist'), path('level1/', views.level1, name='level-1'), path('level1/level2/', views.level2, name='level-2'), ], )
To use different admin site:
make_admin_class( site=customsite, app_label="test_app", model_name="Test1", urls=[ path('', views.root, name='test_app_test1_changelist'), path('level1/', views.level1, name='level-1'), path('level1/level2/', views.level2, name='level-2'), ], )
Alternatively you can mount a single view with a decorator:
from admin_utils import register_view @register_view( site=customsite, app_label="test_app", model_name="Test1", ) def root(request): ...
Admin mixins
admin_utils.mixins.FoldableListFilterAdminMixin
Adds nice filter toggling with cookie support. Largely based on django-foldable-list-filter but without the transition effect and no pictures.
Example:
from admin_utils.mixins import FoldableListFilterAdminMixin class MyModelAdmin(FoldableListFilterAdminMixin, admin.ModelAdmin): pass
Looks like this:
admin_utils.mixins.FullWidthAdminMixin
Make the changelist expand instead of having the width of the windows and having that nasty inner scrollbar. You never gonna notice that if your table is long !
Example:
from admin_utils.mixins import FoldableListFilterAdminMixin class MyModelAdmin(FoldableListFilterAdminMixin, admin.ModelAdmin): pass
You probably didn’t even notice you had this problem:
Changelog
2.0.1 (2021-07-18)
Add missing import for admin_utils.register_view.
2.0.0 (2021-07-18)
Drop support for Python 2.7 and Django 1.11.
Added the register_view decorator.
Update examples/readme.
Various bugfixes.
1.0.0 (2021-07-14)
Fixed a bunch of regressions with Django 3.2.
0.3.0 (2014-02-02)
Forgot to add any 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.
Source Distribution
Built Distribution
Hashes for django_admin_utils-2.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3edfeb3410fac82dd9e298adfb5417ec4d831353fbd045f0d892d74d6af19c3e |
|
MD5 | ff8a4dc7958f0c8ab03b3dddb81b3ee8 |
|
BLAKE2b-256 | 6ddf13697c3c852cdda63ec93e75ef041143e2cd68594292d916108fe5862292 |