实用代码和模式。
项目描述
实用代码和模式。
自由软件: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)
忘记添加任何细节。