Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python admin.autodiscover实际上做什么?_Python_Django - Fatal编程技术网

Python admin.autodiscover实际上做什么?

Python admin.autodiscover实际上做什么?,python,django,Python,Django,我一直对什么感到好奇 admin.autodiscover() 实际上是这样。我没怎么说: 上面我们使用admin.autodiscover()自动加载已安装的\u APPS admin.py模块 及 在使用您自己的AdminSite实例时,确实不需要使用自动发现,因为您可能会导入myproject.admin模块中的所有per-app admin.py模块 如果我不解开 # admin.autodiscover() 我会失去什么功能 出于什么考虑,我应该使用或不使用自动发现 正如你所说:a

我一直对什么感到好奇

admin.autodiscover()
实际上是这样。我没怎么说:

上面我们使用admin.autodiscover()自动加载已安装的\u APPS admin.py模块

在使用您自己的AdminSite实例时,确实不需要使用自动发现,因为您可能会导入myproject.admin模块中的所有per-app admin.py模块

如果我不解开

# admin.autodiscover()
我会失去什么功能

出于什么考虑,我应该使用不使用
自动发现

正如你所说:autodiscover()从apps文件夹加载所有admin.py。因此,您在/admin/中拥有您使用的所有型号(无论是否来自您自己的应用程序)

如果要使用管理应用程序,我建议使用autodiscover()


p.D.此外,一些应用程序具有更多功能的自动发现功能

每当django从URL.py加载URLconf时,都会执行admin.py,autodiscover()将逐个搜索已安装的应用程序中的所有应用程序并执行该文件中的代码。

这意味着我可以用自己的代码覆盖django.contrib.admin提供的管理模型/视图?不,不需要覆盖任何内容。autodiscover()将在管理模块中自动添加更多注册的应用程序。但代码保持不变。作为引用,函数由
autodiscover()
调用,其中
admin
作为第一个位置参数,而
register\u to=site
(其中
site
是默认的管理站点)作为关键字参数