1. 程式人生 > 實用技巧 >重構django專案目錄

重構django專案目錄

目錄

1 重構專案目錄,以下面目錄為例

"""
├── luffyapi
    ├── logs/                # 專案執行時/開發時日誌目錄 - 包
    ├── manage.py            # 指令碼檔案
    ├── luffyapi/              # 專案主應用,開發時的程式碼儲存 - 包
         ├── apps/              # 開發者的程式碼儲存目錄,以模組[子應用]為目錄儲存 - 包
        ├── libs/              # 第三方類庫的儲存目錄[第三方元件、模組] - 包
        ├── settings/          # 配置目錄 - 包
            ├── dev.py       # 專案開發時的本地配置
            └── pro.py      # 專案上線時的執行配置
        ├── urls.py            # 總路由
        └── utils/             # 多個模組[子應用]的公共函式類庫[自己開發的元件]
    └── scripts/               # 儲存專案運營時的指令碼檔案 - 資料夾
"""

2 配置開發環境

"""
1.修改 wsgi.py 與 manage.py 兩個檔案:
# manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
# wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod')
# manage_prod.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.prod')

2.將settings.py刪除或改名,內容拷貝到settings/dev.py中

3.修改dev.py檔案內容
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False

4.如果修改1後還是啟動不了,需要修改啟動配置,見下圖

5.在任何一個__init__.py檔案中測試預設配置檔案是否是dev.py檔案
from django.conf import settings
print(settings)
"""

2.1、先建立到如下目錄,其中dev.py和pro.py先拷貝原先的settings.py,之後進行修改

2.2、刪除原先settings.py後,啟動專案會報錯

原因:因為manage.py中指定了路徑

所以manage.py內容要改

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffyapi.settings.dev")

注意,如果還是起不來,要做如下配置

修改後:

補充:如果專案上線,走的不是manage.py---》走的是wsgi.py,所以,如果專案上線,wsgi.py也要改

2.3 國際化配置

開發階段修改dev.py

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/shanghai'

USE_TZ = False

2.4 建立app,startapp在哪個目錄執行,app就建立在哪個目錄

在pycharm的Terminal終端執行

(luffy) E:\django_project\luffy\luffyapi>cd luffyapi

(luffy) E:\django_project\luffy\luffyapi\luffyapi>cd apps

(luffy) E:\django_project\luffy\luffyapi\luffyapi\apps>python ../../manage.py startapp user

(luffy) E:\django_project\luffy\luffyapi\luffyapi\apps>python ../../manage.py startapp home

(luffy) E:\django_project\luffy\luffyapi\luffyapi\apps>

建完後,專案目錄

2.5 註冊app

在dev.py中進行如下配置

# 環境變數操作:小luffyapiBASE_DIR與apps資料夾都要新增到環境變數
import sys
sys.path.insert(0, BASE_DIR)
APPS_DIR = os.path.join(BASE_DIR, 'apps')
sys.path.insert(1, APPS_DIR)

此時就可以註冊app了

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'user'   # 註冊
]