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實用程序不適用於該應用程序