Django管理注销网站

问题描述:

我一直试图做注销了网站管理员在Django如下:Django管理注销网站

from django.contrib.sites.models import Site 

admin.site.unregister(Site) 

但是这给了我一个错误,指出“网站”未注册(即使它出现在管理员之前)。

如果我尝试做以下我没有得到任何错误,但“站点”停留在admin:

from django.contrib.sites.models import Site 

admin.site.register(Site) 
admin.site.unregister(Site) 

我需要的网站应用程序,不能把它拿出来INSTALLED_APPS的设置。然而,管理员对我来说完全没用。 关于我在做什么的错误在这里?

谢谢!

+1

检查了订单或'INSTALLED_APPS'? 'django.contrib.sites'应用程序将不得不在设置 – Geotob

+0

之前的自己的应用程序*之前运行!谢谢,我不知道订单的重要性。你甚至如何调试这样的事情!? –

您的INSTALLED_APPS设置的顺序很重要。

当Django启动时,它将按照它们定义的顺序(https://docs.djangoproject.com/en/1.11/ref/applications/#how-applications-are-loaded)导入INSTALLED_APPS中的应用程序。在上面的例子中,在Django有机会注册之前,您正在取消注册Site

除了仔细阅读日志以外,在故障排除方面没有太多可做的事情。盯着他们一段时间后你要么成为一个与Django和理解这一切,或者你来这里和我们一样的;-)

剩下我INSTALLED_APPS通常先从django.contrib的应用程序,那么任何第三方应用程序,然后我的应用程序在底部。我只是改变这个,如果我有一个非常好理由。

+0

感谢您的快速响应,这使得现在更有意义! –