python-在Django中添加到INSTALLED_APPS的目的是什么

2019-10-28
阅读数 113
本文来自 codeday ,作者 codeday
大多数文档只是告诉您在Django项目的设置中将每个应用程序的名称添加到INSTALLED_APPS数组中.这有什么好处/目的?如果创建2个应用程序,但仅在INSTALLED_APPS数组中包含一个名称,我将获得什么不同的功能?
最佳答案
Django使用INSTALLED_APPS作为查找模型,管理命令,测试和其他实用程序的所有位置的列表.
如果您制作了两个应用程序(例如myapp和myuninstalledapp),但是INSTALLED_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实用程序不适用于该应用程序

posted @ 2019-11-18 15:52  Huise.J  阅读(6066)  评论(0编辑  收藏  举报