几年前我读过的某个地方(两勺Django 1.4?)建议在Django项目中有一个“apps”文件夹,它包含所有应用程序。
Repo folder
-- Project root folder
-- apps
-- app 1
-- app 2
-- settings etc
但只是快速阅读“Two scoops of Django 1.8”,首选项目结构中没有提及“apps”文件夹。
Repo folder
-- Project root folder
-- app 1
-- app 2
-- settings etc
我错过了什么?为什么他们删除了这个文件夹?
答案 0 :(得分:0)
就像@marcusshep所说的只是偏好,无论如何你想把你的应用程序放在这个文件夹中,你可以在BASE_DIR
var sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
之后添加这一行。有了这个,你不必使用apps.app ...,就像那个文件夹不存在
答案 1 :(得分:0)
我个人在这个问题上来回走动。
django的新默认布局有些令人困惑 - 有两个文件夹 - 一个用于核心软件,另一个用于您的应用程序。
我遇到的问题是将你的应用程序添加到PYTHONPATH的顶层,另外一个软件包就像PyPi这样的地方安装会干扰你的。仅仅因为这个原因,我建议在app文件夹中“命名”你的应用程序。我把'命名空间'放在引号中,就像'myspecialproject'和'myspecialproject.apps.payments'这样的东西比在顶层有'付款'要好得多,这可能会受到其他包的破坏。
所以是的,我建议在你的项目中使用一个apps文件夹。