重構django專案目錄
阿新 • • 發佈:2020-07-16
目錄
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' # 註冊 ]