如何将我的所有Django应用程序保存在特定的文件夹中

2024-05-01 17:43:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django项目,比如说“project1”。 应用程序的典型文件夹结构是:

/project1/
         /app1/
         /app2/
         ...
         __init__.py
         manage.py
         settings.py
         urls.py

如果我想把所有的应用程序放在一个单独的文件夹中,比如“apps”,我该怎么办?因此,该结构应如下所示:

/project/
         apps/
              app1/
              app2/
              ...
         __init__.py
         manage.py
         settings.py
         urls.py

Tags: apps项目djangopy文件夹应用程序settingsmanage
3条回答

您可以很容易地做到这一点,但是您需要将settings.py更改为如下所示:

INSTALLED_APPS = (
    'apps.app1',
    'apps.app2',
    # ...
)

你的urls.py看起来像这样:

urlpatterns = patterns('', 
    (r'^app1/',include('apps.app1')),    
    (r'^app2/',include('apps.app2')),    
)

。。并修改任何imports以指向应用程序位置

不如利用settings.py中已经存在的BASE_DIR变量。

只需添加以下内容:

import sys
sys.path.insert(0, os.path.join('BASE_DIR', 'apps'))

希望这有帮助。

通过在settings.py中插入以下内容,可以将apps文件夹添加到python路径:

import os
import sys

PROJECT_ROOT = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(PROJECT_ROOT, 'apps'))

然后,您可以使用此文件夹中的所有应用程序,就像它们在您的项目根目录中一样!

相关问题 更多 >