因为Django 1.4(我认为)django在我启动项目时为我的项目创建了一个文件夹。 Django为我创建的任何应用程序(使用 python manage.py startapp )添加一个文件夹,位于我的项目文件夹的同一级别。
Project_name
|---project_name_dir/
|---application_dir/
`---manage.py
我非常喜欢以下文件夹结构:
Project_name
|---project_name_dir/
| |---application_dir/
| | |-- __init__.py
| | |-- models.py
| | |-- tests.py
| | `-- views.py
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
| |---templates/
| | `---application_dir/
| `---static/
| |---css/
| |---font/
| |---img/
| `---js/
|---deployment/
|---documentation/
|---config/
`---manage.py
因为我有一个包含所有django文件的文件夹(project_name_dir /)和非django文件的其他目录。
那么为什么Django将应用程序放在我的项目文件夹的同一级别?
答案 0 :(得分:1)
在Django中,不考虑应用程序目录的位置。 Django只使用应用程序的名称。
因此,应用程序的位置基本上是程序员方便的问题。
这也是为什么两个应用不应该具有相同名称的原因:即使它们是INSTALLED_APPS
中导入的
('app.app1', 'app1')
Django只关注点后面的最后一部分,即app1
。
因此,最后,您可以使用所需的目录结构,只要应用程序的名称不会发生冲突,并指向INSTALLED_APPS
上的应用程序。因此,如果没有任何特殊原因,你应该将它们放在项目的根目录上,就像Django一样。