Django - 美多商場專案 - 思路總結
美多商場專案:前後端分離
一、 專案準備:
1 商業模式
B2B -- 企業對企業(Business to Business)
阿里巴巴、慧聰網
C2C -- 個人對個人(Customer to Customer)
淘寶、瓜子二手車
B2C -- 企業對個人(Business to Customer)
唯品會、美多商場
C2B -- 個人對企業(Customer to Business)
海爾商城
O2O -- 線上到線下(Online to Offline)
美團、餓了嗎
F2C -- 工廠到個人(Factory to Customer)
戴爾
B2B2C -- 企業-企業-個人
京東商城、天貓商城
2 開發流程
專案立項(招投標、可行性分析)
需求分析(很重要)
需求分析說明書:給客戶看的
需求規格說明書:給開發人員看的
產品原型(產品部)
分析:
分析網站的功能架構
開發伺服器的選擇
開發環境
研發人員
架構設計、資料庫設計、單元測試:程式碼模組實現和測試(防止後門和bug)
前端
UI頁面設計、前端程式碼編寫
網站程式碼整合(循壞上面步驟)
整合測試(系統測試)
網站釋出(不斷迭代升級,進行優化)
3 需求分析
使用者部分
註冊
圖片驗證碼
簡訊驗證碼
登入
第三方登入(QQ登入)
個人資訊
郵箱填寫與驗證
瀏覽歷史記錄
地址管理
省市區地址資訊載入
新增修改刪除地址
設定預設地址
修改密碼
商品部分
首頁
商品分類
廣告控制
商品列表
商品詳情
商品搜尋
購物車部分
購物車管理
訂單部分
提交訂單
我的訂單
訂單評價
支付部分
支付寶支付
4 專案架構
專案採用前後端分離的應用模式
前端使用Vue.js
jQuery:選擇某個網頁元素,然後對它進行某種操作
ajax:向後端請求資料
後端使用Django REST framework
MySQL:主從同步、雙機熱備
Redis:session快取
celery:非同步服務
FastDFS:分散式服務
5 建立工程
在git平臺建立工程(注意:公司中通常使用gitlab私有伺服器)操作流程一樣
專案名稱:meiduo
.gitignore:python
ssh方式:加密傳送通道
rsa祕鑰對(公鑰 私鑰)
RSA:非對稱加密演算法
私鑰:用來加密資料
公鑰:用來解密資料
生成祕鑰對
ssh-keygen -t rsa(Ubuntu、win10命令)
檔案儲存地址(有預設值)回車
cd .ssh
cat 開啟私鑰(id_rsa)、公鑰(id_rsa.pub)檔案
將公鑰新增到git中(設定)
clone專案
在命令視窗中進入專案,檢視分支
git branch
建立分支
git checkout -b dev(名稱)
建立前端目錄
mkdir front_end_pc
將前端程式碼放入目錄中
本地提交
git commit -m"增加了靜態檔案"
push
git push origin dev:dev
第一次push的時候,會提示是否使用公私鑰,輸入yes即可
合併
在git平臺,點選 Pull Request --> 選擇源分支(dev)目標分支(master)--> 新增合併請求說明 --> 建立
管理員點選合併 --> 合併分支 --> 接受Pull Request
安裝live_server(跟python沒有關係)
windows下安裝node.js下載安裝包即可
Ubuntu下安裝node.js
方法一:(需要翻牆)
https://github.com/nodesource/distributions/blob/master/README.md(參考)
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
方法二:(ubuntu下編譯程式)
0、下載安裝檔案wget https://nodejs.org/dist/v10.13.0/node-v10.13.0.tar.gz
1、解壓 tar zxvf node-v10.13.0.tar.gz
2、進入目錄,執行sudo ./configure
3、執行編譯命令 sudo make (要求目錄中必須有一個MakeFile檔案)
4、執行安裝 sudo make install
方法三:
sudo apt install nodejs
方法四:(推薦)
1、安裝nvm (node version manager)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
2、執行source ~/.bashrc
3、nvm install node
安裝live_server
npm install -g live-server
在靜態檔案目錄下執行live-server
live-server執行在8080埠下,可以通過127.0.0.1:8080來訪問靜態頁面。
建立Django REST framework工程
建立虛擬環境
mkvirtualenv meiduo -p python3
pip install django==1.11.11
pip install djangorestframework
pip install pymysql
在meduo目錄下建立專案meiduo_mall
django-admin startproject meiduo_mall
用pycharm開啟meiduo資料夾,配置一下直譯器,為剛剛虛擬環境中的python
調整工程目錄
在根目錄meiduo_mall下建立包docs,logs,scripts
在子meiduo_mall目錄下建立包apps,libs,settings,utils
apps 存放Django的應用
libs 存放第三方的庫檔案
settings 存放配置檔案的目錄,分為開發dev和線上prod
utils 存放專案自己定義的公共函式或類等
docs 用於存放一些說明文件資料
scripts 用於存放管理指令碼檔案
並且在將settings.py拖到settings資料夾中改名字為dev.py
建立應用
在meiduo/meiduo_mall目錄下輸入:python manage.py startapp users
註冊應用:rest_framework和users
users註冊的路徑需要注意,每次都要以meiduo_mall_.apps開頭
解決:sys.path是python直譯器導包的路徑,如果我們能夠給users所在的包新增進去那就可以了
6 專案配置
增加啟動引數runserver
修改manage.py中的settings.py的檔案路徑
建立資料庫,並且建立使用者
create user meiduo identified by 'meiduo';
grant all on meiduo_mall.* to 'meiduo'@'%';
flush privileges;
配置資料庫
安裝 pymysql
pip install pymysql
記得在meiduo/meiduo_mall/__init__.py檔案中新增
import pymysql
pymysql.install_as_MySQLdb()
如果報錯:
安裝django-redis,並配置
pip install django-redis
時區配置
日誌配置
異常配置
Pycharm提示設定
將一級目錄meiduo設定為根目錄
將二級目錄meiduo下的apps資料夾設定為根目錄
js版本配置
js語法是在js6版本才出現的,但是pycharm預設的是5.1,需要進行修改