相关疑难解决方法(0)

如何使用自定义AdminSite类?

哪个是实现我自己的最佳方式django.contrib.admin.sites.AdminSite

其实我得到一个问题登记INSTALLED_APPSdjango.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)

python django django-admin

27
推荐指数
4
解决办法
2万
查看次数

标签 统计

django ×1

django-admin ×1

python ×1