目录结构调整

一. 目录结构调整

1. 目录结构

├── luffyapi                # 根目录

    ├── logs/               # 项目运行时/开发时日志目录 - 包
    ├── manage.py           # 脚本文件
    ├── luffyapi/           # 项目主应用,开发时的代码保存 - 包
        ├── apps/           # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
        ├── libs/           # 第三方类库的保存目录[第三方组件、模块] - 包
        ├── settings/       # 配置目录 - 包
            ├── dev.py      # 项目开发时的本地配置 ===============》  原来的 setting.py
            └── prod.py     # 项目上线时的运行配置
        ├── urls.py         # 总路由
        └── utils/          # 多个模块[子应用]的公共函数类库[自己开发的组件]
    └── scripts/            # 保存项目运营时的脚本文件 - 文件夹

2. 配置(结构破坏 需从重新配置才能运行)

1. 修改
    (1)开发中: manage.py第9行
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.dev')
    (2)上线时: wsgi.py的第14行
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.prod')
2. 创建app时,要进入到apps文件夹下执行
    # 一步一步 cd 到 apps文件夹下
    python ../../manage.py startapp home

3.注册app
    import sys
    import os

    BASE_DIR = Path(__file__).resolve().parent.parent                          # 小luffy_api 文件中已经有的

    # 把小luffy_api和apps路径都加入到环境变量。以后直接从这俩路径下导起即可
    sys.path.append(str(BASE_DIR))
    sys.path.append(os.path.join(BASE_DIR,'apps'))

4. 以后注册app,直接写app名字即可

二. 创建项目

1. 创建app

(1) 目录调整前

python manage.py startapp App名称

(2) 目录调整后

由于调整目录的原因,创建时需要进入apps文件夹下

然后通过 ../../访问manage.py文件,然后创建。

python ../../manage.py startapp App名称

2. 注册app

(1)方式一:app路径

# 注册
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # 注册app (app 所在的路径)
    'app01'
]


--------------------- ★★★ 可能还会报错 ★★★ ---------------------

# apps.py中也需要修改

from django.apps import AppConfig

class UserConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'

    # 修改 name
    # eg: name = 'app路径'
    name = 'user'

(2)方式二:app名称

加环境变量

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

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # 注册app可直接写其名字
    'app01'
]

三. 运行

按钮方式运行 《如下图:配置改动》

image

posted @ 2023-04-18 12:50  codegjj  阅读(8)  评论(0编辑  收藏  举报