所以我想使用 docs 中描述的 AdminSite 类自定义管理页面。
from django.contrib.admin import AdminSite
from .models import MyModel
class MyAdminSite(AdminSite):
site_header = 'Monty Python administration'
admin_site = MyAdminSite(name='myadmin')
但是我不想使用
admin_site.register(MyModel)
我想使用像这样的寄存器装饰器from django.contrib.admin import ModelAdmin
@admin_site.register(MyModel)
class MyModelAdmin(ModelAdmin):
pass
但是,这只会引发错误
TypeError: 'NoneType' object is not callable
。现在是否有 Django 中 AdminSite
子类的注册装饰器 (1.9) 还是我遗漏了什么? 最佳答案
您可以像这样使用关键字参数 site
:
@admin.register(MyModel, site=MyAdminSite )
from django.contrib import admin
...
@admin.register(MyModel, site=MyAdminSite)
class MyModelAdmin(ModelAdmin):
pass
关于寄存器装饰器的文档:
https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#the-register-decorator
关于Django:自定义管理站点类的管理注册装饰器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36985937/