写在本文之前:我想绝大多数人在使用Django的时候都不会去重写AdminSite,本文只是用于扫盲,同时给自己做一个笔记。
Django自带的管理后台是django.contrib.admin.sites.AdminSite的一个实例,对于高级开发人员来说可能不能满足自身需求,此时可以通过重写AdminSite的方式对默认管理后台进行扩展。
(polls是我的应用,mysite是我的工程)
首先重写polls\admin.py文件,编写新的MyAdminSite类,用它替代默认的AdminSite:
然后重写polls\apps.py,使PollsConfig指向前面编写的MyAdminSite类:
接下来修改mysite\\urls.py,使新的URL指向MyAdminSite的实例:
最后就是在settings.py中注册新的AdminSite:
由于默认的admin类会调用autodiscovery方法查找并注册默认管理后台的模块,所有如果你的项目不需要使用这些模块的话,可以使用'django.contrib.admin.apps.SimpleAdminConfig'替代默认的'django.contrib.admin'。
本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/290769.html