【问题标题】:why Django put application at the same level of my project folder?为什么 Django 将应用程序放在我的项目文件夹的同一级别?
【发布时间】:2013-08-20 14:43:30
【问题描述】:

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

【问题讨论】:

    标签: django directory-structure


    【解决方案1】:

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

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

    这也是两个app不应该同名的原因:即使在INSTALLED_APPS中导入为

    ('app.app1', 'app1')
    

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

    所以,最后,您可以使用您想要的目录结构,只要应用程序的名称不冲突并且您指向 INSTALLED_APPS 上的应用程序。正因为如此,如果没有什么特殊原因,你应该把它们放在项目的根目录下,就像 Django 一样。

    【讨论】:

    • 如果职位申请是为了程序员的方便,我还是不明白为什么Django要改变manage.py的特性。感觉比 1.3 更复杂。
    猜你喜欢
    • 2016-06-20
    • 2021-05-22
    • 1970-01-01
    • 2019-06-17
    • 2020-04-21
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多