大多数文档只是告诉您将每个应用的名称添加到Django项目设置中的INSTALLED_APPS数组中。这有什么好处/目的?如果我创建2个应用程序,但在INSTALLED_APPS数组中只包含一个应用程序名称,我将获得哪些不同的功能?
答案 0 :(得分:4)
Django使用INSTALLED_APPS
作为所有地方的列表来查找模型,管理命令,测试和其他实用程序。
如果您制作了两个应用(例如myapp
和myuninstalledapp
),但INSTALLED_APPS
中只列出了一个,则会注意到以下行为:
myuninstalledapp/models.py
中包含的模型永远不会触发迁移更改(或生成初始迁移)。您无法在数据库级别与它们进行交互,因为它们的表从未创建过。myapp/static/
中列出的静态文件将作为collectstatic或测试服务器的静态文件服务的一部分被发现,但myuninstalledapp/static
文件不会被发现。myapp/tests.py
内的测试会运行但myuninstalledapp/tests.py
不会。myuninstalledapp/management/commands/
中列出的管理命令。所以,我们欢迎您在Django项目中拥有未安装应用程序的文件夹(您甚至可以使用python manage.py startapp
创建它们)但只知道某些自动发现Django实用程序将无法正常工作对于那个应用程序。