luffy專案後端搭建1
阿新 • • 發佈:2020-07-16
本文內容皆為作者原創,如需轉載,請註明出處:https://www.cnblogs.com/xuexianqi/p/13324824.html
一:準備虛擬環境
1.建立並搭建虛擬環境
建立教程:https://www.cnblogs.com/xuexianqi/p/13322649.html
2.在cmd中建立一個虛擬環境,名為:luffy
mkvirtualenv luffy
3.剛建立好的虛擬環境就相當於全新的直譯器,需要自己裝django、djangorestframework、pymysql
pip3 install django==2.2.0 pip3 install djangorestframework pip3 install pymysql
二:建立Django專案
1.新建Django專案
Location:該專案為後端,用於寫介面,命名為:luffyapi
,和前端Vue專案luffycity
一起放在luffy
資料夾下
直譯器選擇第一步建立的虛擬環境下的直譯器
app暫時不建立
2.建立並開啟專案後,刪除template
資料夾
3.建立doc
資料夾,裡面建立readme.md
,用於存放專案使用說明的文件
4.建立logs
資料夾,用於記錄操作產生的日誌
5.在luffyapi
專案裡面的luffyapi
(這裡稱為小luffyapi),建立一個apps
包,用來存放之後要建立的app
6.在小luffyapi
中建立libs
資料夾,用於存放開源的第三方類庫
7.在小luffyapi
中建立settings
包,用於存放配置檔案
建立的是包:Package,建立完成後會產生一個__init__.py
檔案
8.在小luffyapi
的settings
資料夾中建立dev.py
和prod.py
dev.py
:是測試階段的配置檔案
prod.py
:是專案上線階段的配置檔案
9.將原settings.py
中的內容複製到sev.py
中,刪掉註釋,時區配置如下
LANGUAGE_CODE = 'zh-hans' # 語言設定為中文 TIME_ZONE = 'Asia/shanghai' # 時區設定為亞洲/上海 USE_I18N = True USE_L10N = True USE_TZ = False # 關閉Time Zone功能
9.輸入啟動命令:python manage.py runserver
,會報錯
10.這是因為配置檔案出錯了,需要修改
①到manage.py
中進行修改
修改前:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings')
修改後:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
②點選上方luffyapi
- Edit Configurations
![image-20200716194356832](Python正課147 —— luffy專案後端搭建.assets/20200716194358.png)
③點選此處
④新增如下配置,然後點選OK
DJANGO_SETTINGS_MODULE = luffyapi.settings.dev
⑤此時,可以直接通過上方的啟動按鈕來啟動專案了
11.輸入啟動命令:python manage.py runserver
,可能會出現如下報錯
①這個報錯原因,就是埠被佔用了,解決方法:https://www.cnblogs.com/xuexianqi/p/13324578.html
②改用了8080埠後,可以啟動
12.在專案下建立scripts
資料夾,和小lufftapi
同級
該資料夾用於儲存專案運營時的指令碼檔案
13.建立app(startapp XXX
在哪裡執行,app就會建立在哪)
開啟pycharm終端,輸入如下命令:
cd luffyapi # 切換到小luffyapi目錄
cd apps # 切換到小luffyapi下的apps目錄
python ../../manage.py startapp user # 用apps目錄上上層的manage.py 啟動建立app的命令,建立的路徑還是apps目錄,建立了user這個app
python ../../manage.py startapp home # 同上,建立了home這個app
14.開啟小luffyapi
的settings
資料夾中的dev.py
,新增下列程式碼
import sys
# 把這個路徑新增到環境變數中
sys.path.insert(0, BASE_DIR)
# 把apps的路徑加入到環境變數中
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))