哪个是实现我自己的最佳方式django.contrib.admin.sites.AdminSite?
其实我得到一个问题登记INSTALLED_APPS在django.contrib.admin.autodiscover.如果我使用自定义AdminSite类urls.py,则管理页面上不会显示任何应用程序.
我用一个小黑客修复了这个问题.我写了这堂课:
from django.contrib.admin.sites import site as default_site
class AdminSiteRegistryFix( object ):
'''
This fix links the '_registry' property to the orginal AdminSites
'_registry' property. This is necessary, because of the character of
the admins 'autodiscover' function. Otherwise the admin site will say,
that you havn't permission to edit anything.
'''
def _registry_getter(self):
return default_site._registry
def _registry_setter(self,value):
default_site._registry = value
_registry = property(_registry_getter, _registry_setter)
Run Code Online (Sandbox Code Playgroud)
并实现我的自定义AdminSite,如下所示:
from wltrweb.hacks.django.admin import AdminSiteRegistryFix
from django.contrib.admin …Run Code Online (Sandbox Code Playgroud)