1. 程式人生 > >Django - 美多商場專案 - 思路總結

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,需要進行修改