Python 在Django中添加已安装的应用程序的目的是什么?
大多数文档只是告诉您将每个应用程序的名称添加到Django项目设置中已安装的应用程序数组中。这样做的好处/目的是什么?如果我创建两个应用程序,但只在我的已安装应用程序数组中包含其中一个应用程序的名称,我将获得哪些不同的功能?Django使用Python 在Django中添加已安装的应用程序的目的是什么?,python,django,Python,Django,大多数文档只是告诉您将每个应用程序的名称添加到Django项目设置中已安装的应用程序数组中。这样做的好处/目的是什么?如果我创建两个应用程序,但只在我的已安装应用程序数组中包含其中一个应用程序的名称,我将获得哪些不同的功能?Django使用已安装应用程序作为查找模型、管理命令、测试和其他实用程序的所有位置的列表 如果您制作了两个应用程序(例如myapp和myuninstalledapp),但在INSTALLED\u apps中只列出了一个,您会注意到以下行为: myuninstalledapp/
已安装应用程序
作为查找模型、管理命令、测试和其他实用程序的所有位置的列表
如果您制作了两个应用程序(例如myapp
和myuninstalledapp
),但在INSTALLED\u apps
中只列出了一个,您会注意到以下行为:
myuninstalledapp/models.py
中包含的模型永远不会触发迁移更改(或生成初始迁移)。您也无法在数据库级别与它们交互,因为它们的表从未创建过myapp/Static/
中列出的静态文件将作为collectstatic或测试服务器的staticfiles服务的一部分被发现,但是myuninstalledapp/Static
文件不会被发现myapp/Tests.py
中的测试将运行,但myuninstalledapp/Tests.py
不会运行myuninstalledapp/Management/commands/
中列出的管理命令因此,实际上,欢迎您在Django项目中拥有未安装应用程序的文件夹(您甚至可以使用
python manage.py startapp
创建它们)但要知道,某些自动发现Django实用程序无法用于该应用程序。第1点的补充:不会为myuninstalledapp的ForeignKey指向的模型创建反向关系。