实用代码和模式。
项目描述
实用代码和模式。
自由软件:BSD 2-Clause许可证
安装
pip install django-admin-utils
您也可以使用以下命令安装开发版本
pip install https://github.com/ionelmc/django-admin-utils/archive/master.zip
文档
简洁的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),
如果您想定制admin站点
customsite = admin.AdminSite() @register(MyModel, site=customsite) class MyModelAdmin(admin.ModelAdmin): inlines = inline(OherModel),
模拟admin(使用模型包装器将视图挂载到admin中)
您是否曾想在一个页面上出现应用程序列表中的页面,但没有任何模型?现在您可以在不修补admin Site或模板的情况下实现这一点。只需将此内容放入您的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'), ], )
要使用不同的admin站点
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'), ], )
或者,您也可以使用装饰器挂载单个视图
from admin_utils import register_view @register_view( site=customsite, app_label="test_app", model_name="Test1", ) def root(request): ...
admin混入
admin_utils.mixins.FoldableListFilterAdminMixin
添加了带有cookie支持的不错过滤器切换。主要基于django-foldable-list-filter,但没有过渡效果和图片。
示例
from admin_utils.mixins import FoldableListFilterAdminMixin class MyModelAdmin(FoldableListFilterAdminMixin, admin.ModelAdmin): pass
看起来像这样
admin_utils.mixins.FullWidthAdminMixin
使changelist展开,而不是拥有窗口的宽度,并具有那个讨厌的内滚动条。如果你的表格很长,你永远不会注意到这一点!
示例
from admin_utils.mixins import FoldableListFilterAdminMixin class MyModelAdmin(FoldableListFilterAdminMixin, admin.ModelAdmin): pass
你可能甚至没有注意到这个问题
变更日志
2.0.4 (2021-07-19)
修复模拟管理员回归问题并添加测试。
2.0.3 (2021-07-19)
使模拟管理员在不具有可编辑权限的情况下表现(实现了缺失的 has_view_permission 方法)。
2.0.2 (2021-07-18)
将伪造的隐藏模型作为 fake_model 属性公开。
2.0.1 (2021-07-18)
添加对 admin_utils.register_view 的缺失导入。
2.0.0 (2021-07-18)
停止支持 Python 2.7 和 Django 1.11。
添加了 register_view 装饰器。
更新 examples/readme。
各种错误修复。
1.0.0 (2021-07-14)
修复了与 Django 3.2 相关的一批回归问题。
0.3.0 (2014-02-02)
忘记添加任何细节。