I tried to override the AdminSite class with my own custom class. I followed the django documentation tutorial: https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#customizing-adminsite , but that didn't work. To be specific, I would like to redefine the original AdminSite with my own class, and not just add another admin site to my project.
I created my own class MyAdminSite, which inherits from the class
from django.contrib.admin import AdminSite
class MyAdminSite(AdminSite):
pass
Then in my urls.py application added:
from django.conf.urls import url, include
import django.contrib.admin as admin
from .admin_site import MyAdminSite
admin.site = MyAdminSite()
admin.autodiscover()
urlpatterns = [
url(r'^', admin.site.urls),
]
This seemed to work, but admin models are being registered in the AdminSite insted from MyAdminSite.
I tried three ways to register models on my user site:
@admin.register(Model)
class ModelAdmin(model.AdminModel):
...
Thus, the models are registered in the original AdminSite.
The second way:
@admin.site.register(Model):
class ModelAdmin(model.AdminModel):
...
. ModelAdmin .
:
class ModelAdmin(model.AdminModel):
...
admin.site.register(Model, ModelAdmin)
, - , Django admin ( ).
admin.site MyAdminSite?