【Django開發】前後端分離美多商城專案第1篇:美多商城【附程式碼文件】

程序员一诺yinuo發表於2024-03-13

美多商城專案4.0文件完整教程(附程式碼資料)主要內容講述:美多商城,專案準備,商業模式介紹,開發流程,需求分析,專案架構,建立工程,1. 在git平臺建立工程1.B2B--企業對企業,2.C2C--個人對個人,3.B2C--企業對個人,4.C2B--個人對企業,5.O2O--線上到線下,6.F2C--工廠到個人,7.B2B2C--企業--企業--個人,1. 使用者部分,2. 商品部分,3. 購物車部分,4. 訂單部分,5. 支付部分,2. 新增前端檔案,3. 建立Django REST framework工程,4. 修改manage.py,5. 建立資料庫。專案準備,配置,使用者部分,使用者模型類,註冊1. 修改settings/dev.py 檔案中的路徑資訊,2. INSTALLED_APPS,3. 資料庫,4. Redis,5. 本地化語言與時區,6. 日誌,7. 異常處理,設計介面的思路。使用者部分,圖片驗證碼,簡訊驗證碼,跨域CORS。使用者部分,使用Celery完成傳送簡訊,判斷帳號是否存在,註冊1. 判斷使用者名稱是否存在,2. 判斷手機號是否存在:。使用者部分,JWT,什麼是JWT,Django REST framework JWT起源,基於token的鑑權機制,JWT長什麼樣?,JWT的構成,總結,安裝配置,使用。使用者部分,登入,登入,返回登入網址的檢視建立模型類,urllib使用說明。登入,登入回撥處理建立模型類,urllib使用說明。登入,繫結使用者身份介面,使用者中心個人資訊,郵件與驗證,使用Django傳送郵件建立模型類,urllib使用說明。郵件與驗證,儲存郵箱併傳送驗證郵件,驗證郵箱連結,收貨地址。收貨地址,省市區地址查詢。收貨地址,使用快取,使用者地址管理,使用者地址管理程式碼,商品部分。商品部分,資料庫表設計,FastDFS分散式檔案系統,Docker使用表結構,資料庫模型類,1. 什麼是FastDFS,2. 檔案上傳流程,3. 簡易FastDFS構建。Docker使用,Docker簡介1. 虛擬化,2. 什麼是Docer,3. Docker元件,4 使用Docker做什麼。Docker使用,安裝與操作,使用Docker安裝FastDFS1. 在Ubuntu中安裝Docker,2. 啟動與停止,3. Docker映象操作,4. Docker 容器操作,5. 將容器儲存為映象,6. 映象備份與遷移,1. 獲取映象,2. 執行tracker,3. 執行storage。商品部分,FastDFS客戶端與自定義檔案儲存系統,CKEditor富文字編輯器,新增測試資料1. FastDFS的Python客戶端,2. 自定義Django檔案儲存系統,3. 在Django配置中設定自定義檔案儲存類,4. 新增image域名。商品部分,頁面靜態化,定時任務,靜態化首頁的手動指令碼。商品部分,商品詳情頁。商品部分,使用者瀏覽歷史記錄1. 儲存,2. 檢視。商品部分,商品列表頁獲取商品列表資料。商品部分,商品搜尋。購物車部分,購物車資料儲存設計,新增到購物車1. Redis儲存已登入使用者,2. Cookie儲存未登入使用者。購物車部分,查詢購物車資料,修改購物車資料,刪除購物車資料,購物車全選。購物車部分,登入合併購物車,訂單部分,訂單資料庫設計,訂單結算。訂單部分,儲存訂單,下單成功頁面。支付,接入,發起支付,儲存支付結果。Xadmin,使用者許可權控制,資料庫讀寫分離1. 安裝,2. 使用。資料庫讀寫分離,MySQL主從同步,配置Django實現資料庫讀寫分離,部署1. 主從同步的定義,2. 主從同步的機制,3. 配置主從同步的基本步驟,4. 詳細配置主從同步的方法。。meiduo_mallBuild Setup。

全套筆記資料程式碼移步: 前往gitee倉庫檢視

感興趣的小夥伴可以自取哦,歡迎大家點贊轉發~


美多商城

可訪問[美多商城www.meiduo.site](

美多商城

推薦收藏的兩個Redis指令參考連結

  • Redis原生指令參考 [
  • Redis python客戶端 方法參考 [

專案準備

商業模式介紹

目的:知道美多商城專案屬於B2C商業模式

1.B2B--企業對企業

  • B2B (Business to Business)是指進行電子商務交易的供需雙方都是商家(或企業、公司),她(他)們使用了網際網路的技術或各種商務網路平臺,完成商務交易的過程。電子商務是現代 B2B marketing 的一種具體主要的表現形式。

B2B

  • 案例:阿里巴巴、慧聰網

2.C2C--個人對個人

  • C2C 即 Customer to Customer,意思就是消費者個人間的電子商務行為。比如一個消費者有一臺電腦,透過網路進行交易,把它出售給另外一個消費者,此種交易型別就稱為 C2C 電子商務。```

C2C

  • 案例:淘寶、易趣、瓜子二手車

3.B2C--企業對個人

  • B2C 是 Business to Customer 的縮寫,而其中文簡稱為“商對客”。“商對客”是電子商務 的一種模式,也就是通常說的直接面向消費者銷售產品和服務商業零售模式。這種形式的電子商務一般以網路零售業為主,主要藉助於網際網路開展線上銷售活動。B2C 即企業透過互 聯網為消費者提供一個新型的購物環境——網上商店,消費者透過網路在網上購物、網上支付等消費行為。

B2C

  • 案例:唯品會、樂蜂網

4.C2B--個人對企業

  • C2B(Consumer to Business,即消費者到企業),是網際網路經濟時代新的商業模式。這一模式改變了原有生產者(企業和機構)和消費者的關係,是一種消費者貢獻價值(Create Value),企業和機構消費價值(Consume Value)。C2B 模式和我們熟知的供需模式(DSM, Demand Supply Model)恰恰相反,真正的 C2B 應該先有消費者需求產生而後有企業生產,即先有消費者提出需求,後有生產企業按 需求組織生產。通常情況為消費者根據自身需求定製產品和價格,或主動參與產品設計、生產和定價,產品、價格等彰顯消費者的個性化需求,生產企業進行定製化生產。

C2B

  • 案例:海爾商城、 尚品宅配

5.O2O--線上到線下

  • O2O 即 Online To Offline(線上離線/線上到線下),是指將線下的商務機會與網際網路結合,讓網際網路成為線下交易的平臺,這個概念最早來源於美國。O2O 的概念非常廣泛,既可涉及到線上,又可涉及到線下,可以通稱為 O2O。主流商業管理課程均對 O2O 這種新型的商業模式有所介紹及關注。```

O2O

  • 案例:美團、餓了嗎

6.F2C--工廠到個人

  • F2C 指的是 Factory to customer,即從廠商到消費者的電子商務模式

F2C

  • 案例:戴爾

7.B2B2C--企業--企業--個人

  • B2B2C 是一種電子商務型別的網路購物商業模式,B 是 BUSINESS 的簡稱,C 是 CUSTOMER 的簡稱,第一個 B 指的是商品或服務的供應商,第二個 B 指的是從事電子商務的企業,C 則是表示消費者。第一個 BUSINESS,並不僅僅侷限於品牌供應商、影視製作公司和圖書出版商,任何的商品供應商或服務供應商都能可以成為第一個 BUSINESS;第二 B 是 B2B2C 模式的電子商務企業,透過統一的經營管理對商品和服務、消費者終端同時進行整合,是廣大供應商和消費 者之間的橋樑,為供應商和消費者提供優質的服務,是網際網路電子商務服務供應商。C 表示 消費者,在第二個 B 構建的統一電子商務平臺購物的消費者。B2B2C 的來源於目前的 B2B、B2C 模式的演變和完善,把 B2C 和 C2C 完美地結合起來,透過 B2B2C 模式的電子商務企業構建自己的物流供應鏈系統,提供統一的服務。
  • 案例:京東商城、天貓商城

開發流程

開發流程

說明:

1. 架構設計

  • 分析可能用到的技術點
  • 前後端是否分離
  • 前端使用哪些框架
  • 後端使用哪些框架
  • 選擇什麼資料庫
  • 如何實現快取
  • 是否搭建分散式服務
  • 如何管理原始碼

2. 資料庫設計

  • 資料庫表的設計至關重要
  • 根據專案需求,設計合適的資料庫表
  • 資料庫表在前期如果設計不合理,後期隨需求增加會變得難以維護

3. 整合測試

  • 在測試階段要留意測試反饋平臺的bug報告

需求分析

在需求分析階段,我們可以藉助產品原型圖來分析。分析完後,前端按照產品原型圖開發前端頁面,後端開發響應業務處理。

我們現在可以假借示例網站作為原型圖來分析需求。

1. 使用者部分

註冊

  • 圖片驗證碼
  • 簡訊驗證碼

註冊頁面

登入

登入頁面

第三方登入(登入)

登入

個人資訊

  • 郵箱填寫與驗證
  • 瀏覽歷史記錄

個人資訊

地址管理

  • 省市區地址資訊載入
  • 新增修改刪除地址
  • 設定預設地址

地址管理

修改密碼

修改密碼

2. 商品部分

首頁

  • 商品分類
  • 廣告控制

首頁

商品列表

商品列表

商品詳情

商品詳情

商品搜尋

商品搜尋

3. 購物車部分

購物車管理

購物車管理

4. 訂單部分

提交訂單

提交訂單

我的訂單

我的訂單

訂單評價

訂單評價

5. 支付部分

支付

支付

專案架構

  • 專案採用前後端分離的應用模式
  • 前端使用Vue.js
  • 後端使用Django REST framework

專案架構

建立工程

本專案使用git管理專案程式碼,程式碼庫放在gitee碼雲平臺。(注意,公司中通常放在gitlab私有伺服器中)

1. 在git平臺建立工程

1) 建立私有專案庫

新增私有專案

填寫資訊

2)克隆專案到本地

找到克隆地址

克隆到本地

3)建立並切換分支到dev

git checkout -b dev

2. 新增前端檔案

在meiduo目錄中建立前端檔案子目錄front_end_pc

將前端靜態附件複製到front_end_pc目錄下

git提交

git add front_end_pc
git status
git commit -m 'add front end files'

推送到遠端

git push origin dev:dev

合併

發起合併

合併說明

進行合併

接受合併

前端檔案開發預覽

可以使用前端node.js 提供的伺服器live-server作為前端開發伺服器使用。

安裝node.js的版本控制工具nvm,在終端中執行

curl -o-  | bash

重新進入終端,使用nvm安裝最新版本的node.js

nvm install node

安裝node

安裝live-server

npm install -g live-server

安裝live-server

使用

  
  
# 在靜態檔案目錄front_end_pc下執行
  
  
live-server

live-server執行在8080埠下,可以透過127.0.0.1:8080來訪問靜態頁面。

3. 建立Django REST framework工程

參考框架階段學習的知識,建立虛擬環境,並建立Django REST framework工程。

工程目錄調整如下:

工程目錄

  • apps 存放Django的應用
  • libs 存放第三方的庫檔案
  • settings 存放配置檔案的目錄,分為開發dev和線上prod
  • utils 存放專案自己定義的公共函式或類等
  • docs 用於存放一些說明文件資料
  • scripts 用於存放管理指令碼檔案

4. 修改manage.py

修改manage.py,使用settings中的dev配置

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

5. 建立資料庫

create database meiduo_mall default charset=utf8;

為本專案建立資料庫使用者(不再使用root賬戶)

create user meiduo identified by 'meiduo'; 
grant all on meiduo_mall.* to 'meiduo'@'%'; 
flush privileges;

說明:

  • 第一句:建立使用者賬號 meiduo, 密碼 meiduo (由identified by 指明)
  • 第二句:授權meiduo_mall資料庫下的所有表(meiduo_mall.*)的所有許可權(all)給使用者meiduo在以任何ip訪問資料庫的時候('meiduo'@'%')
  • 第三句:重新整理生效使用者許可權

未完待續, 同學們請等待下一期

全套筆記資料程式碼移步: 前往gitee倉庫檢視

感興趣的小夥伴可以自取哦,歡迎大家點贊轉發~

相關文章