1. 新建文件夹 apps

首先在项目根目录下新建文件夹 apps 用来统一存放所有 app

mkdir apps

然后在 app 中新建一个文件夹,文件夹名字就是要生成的 app 的名字:

mkdir apps/demo

将所有的app拖到apps中

mv app1 apps/
mv app2 apps/
mv app3 apps/

如果是新的apps,可以下述命令生成

django-admin startapp demo apps/demo
# 或这样:
python manage.py startapp demo apps/demo

2. 在settings.py 添加路径

settings.py 中添加路径


import sys
...
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

## 将所有app移入apps目录,所以在BASE_DIR变量后面增加这一行配置
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

然后在setting.py中注册app时,建议使用app中的apps.py设置的config注册:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    ...
    'apps.app1.apps.App1Config',
    'apps.app2.apps.App2Config',
    'apps.app3.apps.App3Config',
    'apps.demo.apps.DemoConfig',
    ...
]

 目录