admin.autodiscover实际上做了什么?

时间:2013-12-26 12:17:32

标签: python django

我一直很好奇

admin.autodiscover()
实际上是这样的。 The document对此并未说太多:

  

上面我们使用admin.autodiscover()自动加载INSTALLED_APPS admin.py模块。

  

在使用您自己的AdminSite实例时,实际上不需要使用自动发现,因为您可能会导入myproject.admin模块中的所有每个应用程序的admin.py模块。

如果我不解散

# admin.autodiscover()

我将失去什么功能?

我应该考虑使用不使用 autodiscover

2 个答案:

答案 0 :(得分:2)

正如你所说:autodiscover()从apps文件夹加载所有admin.py.所以你有/ admin /你使用的所有模型(来自你自己的应用程序)。

如果您打算使用管理员应用,我建议使用自动发现()。

Pd积。此外,一些应用程序具有更多功能的自动发现。

答案 1 :(得分:1)

admin.py每当您的django从urls.py加载URLconf时执行,autodiscover()将在INSTALLED_APPS中搜索所有应用程序并执行该文件中的代码。