Django管理员取消注册网站

时间:2017-05-25 22:51:32

标签: python django django-admin

我一直在尝试通过执行以下操作取消注册django中的网站管理员:

from django.contrib.sites.models import Site

admin.site.unregister(Site)

然而,这给了我一个错误,指出“网站”没有注册(即使它之前出现在管理员中)。

如果我尝试执行以下操作,则不会出现任何错误,但“网站”会保留在管理员中:

from django.contrib.sites.models import Site

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

我需要网站应用,并且无法在设置中将其从INSTALLED_APPS中删除。但管理员对我来说完全没用。 我在这里做错了什么想法?

谢谢!

1 个答案:

答案 0 :(得分:4)

INSTALLED_APPS设置的顺序非常重要。

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

除了非常仔细地阅读日志之外,您在排除故障方面无法做多少事情。在盯着他们看了一会儿之后,你或者成为Django的一员并且理解这一切,或者你像我们其他人一样来到这里; - )

我的INSTALLED_APPS通常以django.contrib个应用开始,然后是任何第三方应用,然后是底部的应用。如果我有一个非常的理由,我只会改变这个。