1

由于 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 将应用程序放在我的项目文件夹的同一级别?

4

1 回答 1

1

在 Django 中,不考虑应用程序目录的位置。Django 只使用应用程序的名称。

因此,应用程序的位置基本上是程序员的方便问题。

这也是为什么两个应用程序不应该具有相同名称的原因:即使它们被导入INSTALLED_APPS

('app.app1', 'app1')

Django 只关注点之后的最后一部分,即app1.

因此,最后,您可以使用您想要的目录结构,只要应用程序的名称不冲突并且您指向INSTALLED_APPS. 因此,如果没有任何特殊原因,您应该将它们放在项目的根目录中,就像 Django 一样。

于 2013-08-20T14:51:48.427 回答