





摘" 要:為提高農產品在線交易便捷度,節省交易成本,設計一款基于Django的農產品電子商城系統。以Python和HTML為開發語言,采用Django、MySQL、Boot Strap等技術,開發一個功能完善、操作便捷、界面簡潔的在線交易平臺。用戶可以通過系統進行在線商品交易,管理員和商家也可以在后臺管理系統中便捷地對商品、用戶和訂單進行管理和維護。系統滿足了消費者的購物需求,也為商家和客戶提供了更廣闊的市場,同時有效提升了商品交易效率。
關鍵詞:Django;Python;農產品;電子商城
中圖分類號:TP311" 文獻標識碼:A" 文章編號:2096-4706(2024)10-0092-04
Design and Implementation of Agricultural Product Electronic Mall System
Based on Django
TAN Yan
(Suzhou Polytechnic Institute of Agriculture, Suzhou" 215008, China)
Abstract: To improve the convenience of online trading of agricultural products and save transaction costs, a Django-based agricultural product electronic mall system is designed. Tacking Python and HTML as development languages, and using technologies such as Django, MySQL, and Boot Strap, we develop an online trading platform with complete functionality, convenient operation, and simple interface. Users can conduct online product transactions through this system, and administrators and merchants can also conveniently manage and maintain products, users, and orders in the backend management system. The system meets the shopping needs of consumers, provides a broader market for merchants and customers, and effectively improves the efficiency of product transaction.
Keywords: Django; Python; agricultural product; electronic mall
0" 引" 言
近年來,隨著信息技術的不斷發展和國家的大力倡導,互聯網應用不斷地深入人們生活中的各個領域,農產品電商也迎來爆發式的增長。“互聯網+”模式為傳統農業轉型至現代農業提供了有效途徑,為農村電商的崛起提供了有利環境[1]。
Web技術被廣泛應用在多個領域,其中一個重要的領域就是搭建電子商務平臺。與線下交易方式相比,電子商務具有隨時隨地進行交易、快速選擇產品和加快產品銷售的優勢。憑借著全新的銷售模式,能夠有效解決農產品滯銷、消費者有錢買不到優質農產品等現象[2],通過靈活方便的交易方式、簡單明了的操作界面、完善安全的后臺管理來滿足消費者多樣化的購物需求,提升商品交易管理效率[3]。
本文設計的農產品電子商城以Python和HTML為開發語言,采用Django+BootStrap+MySQL等技術進行開發,為用戶和商家提供了功能完善的在線購物和管理平臺。用戶可以在線瀏覽平臺上各種農產品的商品信息,并根據自己的需求下單購買商品,管理員和商家也可以在后臺方便地對商品、用戶和訂單等進行管理。
1" 系統開發技術
本文的電子商城系統采用B/S結構,這種結構的優點在于具有分布性特點,處理業務便捷;業務擴展簡單方便,通過增加頁面即可增加服務器功能;維護簡單方便[4]。商城前臺采用Bootstrap+jQuery框架進行頁面設計,后臺使用Django框架開發頁面功能,同時搭配MySQL數據庫實現數據的存儲。
1.1" Python
Python語言是一種面向對象的高級編程語言,語言簡單,容易學習且易于使用,而且免費開源[5]。與其他語言相比,Python的類庫豐富、使用方便,能夠為一個需求提供多種方案,使編程過程變得更加輕松。基于以上特點,Python語言迅速在Web開發領域中占據一席之地,已成為目前Web開發的主流語言之一。
1.2" Django
Django是一個用Python語言編寫的開源Web應用框架,利用該框架可方便快捷地創建高品質、功能完善、安全性強的Web應用程序。Django框架為常用的Web開發模式提供各種便捷的服務,具有開發速度快、工作量小、方便靈活等特點。Django框架包含許多第三方插件,在開發過程中對于程序員較為方便[6]。Django對傳統的MVC模式進行了修改,修改后的模式稱為MTV(模型-模板-視圖)模式。其中的M代表模型,負責業務對象和ORM(數據庫的關系映射),T代表模板,負責頁面的顯示和用戶的交互,V代表視圖,負責業務邏輯以及調用模型和模板,完成頁面的展示和交互。
1.3" BootStrap
Bootstrap是一個用于前端開發的開源工具包,是一個基于HTML、CSS、JavaScript開發的前端開發框架。該框架提供了一個帶有柵格系統的基本結構,并且包含了豐富的Web組件,利用這些組件可以快速地搭建一個功能完備的網站。Bootstrap最大的特點是支持響應式布局,不僅支持PC端的各種分辨率的顯示,還支持移動端、手機等屏幕的響應式切換顯示。
1.4" MySQL
MySQL是一個開源、輕量級、應用得非常廣泛的數據庫管理系統,它具有速度快、跨平臺、安全性高等特點[7]。該數據庫支持多種操作系統和編程語言,被廣泛應用于Web應用程序的后端數據存儲。
2" 系統分析及設計
2.1" 需求分析
為了使用戶和管理員能夠便捷地進行交易和管理,電子商城需提供許多必要的功能。通過對在線購物需求進行分析,一個完整的電子商城系統包括前臺系統和后臺管理系統兩個部分。前臺系統用于用戶進行注冊、登錄、瀏覽商品和交易結算,主要包括以下功能:
1)注冊、登錄。界面設計盡量簡潔明了,方便用戶進行注冊和登錄。
2)商品展示。可按照商品推薦、商品類別、商品搜索等方式查詢商品,展示商品詳情。
3)購物車。用戶喜歡的商品可添加到購物車,購物車中展示已選擇的商品種類、數量和價格,并根據購物車中商品種類與數目來計算商品總金額。
4)商品結算。購物車確認無誤后生成訂單,用戶選擇收貨地址和結算方式,進行結算。
5)個人中心。可查看訂單、取消訂單、查看物流,并對個人信息進行修改,對收貨地址進行添加和修改。
后臺系統用于管理員和商家進行數據維護和系統管理,主要功能如下:
1)商品管理。對商品類別、促銷商品和各商品詳情進行編輯和管理。
2)訂單管理。對所有的訂單進行查詢和管理,可以查看和修改訂單狀態。
3)用戶管理。對已注冊用戶和商家的信息進行管理。
4)系統管理。對前臺公告和用戶反饋意見進行管理。
系統除了擁有盡可能全面的功能模塊,網站性能上同樣具有反應快速、穩定性、保密性等要求[8]。如創建訂單的響應時間不能超過3 s,支付的響應時間不可以超過7 s [9]。
2.2" 功能模塊設計
商城前臺系統包含商品信息、購物車、訂單信息、個人中心、公共信息等模塊,如圖1所示。其中商品信息模塊包括商品分類、商品詳情、商品查詢功能;購物車模塊包括購物車查詢、商品結算功能;訂單信息模塊包括訂單查詢、訂單刪除、物流信息等功能;個人中心模塊包括會員注冊、會員登錄、用戶信息、會員評價、地址管理等功能;公共信息模塊包括關于我們、幫助中心、售后服務等功能。
商城后臺功能模塊是面向管理員和商家使用的,實現管理員和商家對用戶、商品和訂單的管理[10]。商城后臺系統包含商品管理、訂單管理、用戶管理、系統管理等模塊,功能模塊如圖2所示。商品管理模塊包括商品分類、商品信息、促銷商品的管理功能;訂單管理模塊包括訂單查詢、訂單操作、售后管理等功能;用戶管理模塊包括用戶信息、評價管理、商家管理等功能;系統管理包括系統登錄、退出、重置密碼、權限管理、公告管理等功能。
2.3" 數據庫設計
結合電子商城的功能需求以及農產品的特點,在MySQL數據庫中設計系統需要存儲的基本數據和關鍵數據。根據電子商城系統的功能模塊設計,數據庫中設計了用戶信息、商品詳情、商品分類、入庫表、發貨表、購物車、訂單表、物流信息、公告表、收藏表、評價表、收貨地址等數據表。以商品表product為例,表結構如表1所示,其中包含了p_id等13個字段,分別用于存儲商品的編號、名稱、規格、價格等數據。
3" 系統實現
3.1" 前臺系統
商城前臺系統包括首頁、所有商品、商品詳情、購物車、我的訂單、個人中心、關于我們、注冊和登錄頁面。由于前臺頁面的界面結構類似,每一個頁面都包含頭部、內容和底部三個模塊的內容,因此將每一個模塊作為一個組件,可在需要的時候進行復用。其中header組件用于展示網頁的頭部信息,contents組件展示網頁的內容信息,footer組件用于展示底部公共信息。
前臺系統中每個頁面都復用header組件作為頭部。以首頁為例,首頁頭部包含了商城logo、商品搜索欄和導航條,效果如圖3所示。導航部分由Bootstrap中的導航條生成,設置了六個導航鏈接,點擊即可跳轉到對應的頁面。其中,在未登錄的狀態下點擊“個人中心”鏈接,將跳轉到登錄頁面,已登錄狀態下點擊則跳轉到個人中心頁面。首頁的內容模塊,從上往下分別是圖片輪播組件、熱賣商品、蔬菜類商品和水果類商品,其中熱賣商品區域以圖文方式顯示了商城推薦的商品,具體信息包括商品圖片、商品名稱、規格、原價和現價。頁面底部復用footer組件展示商城的公共信息,包括關于我們、幫助中心和售后服務。
圖3" 商城首頁
在“所有商品”頁面中,可按時令水果、新鮮蔬菜、肉蛋水產三個一級類別展示商品,也可按每個一級類別下的二級類別做進一步的分類后再展示商品,如時令水果大類下,設置了蘋果梨香蕉、瓜桃李棗、柑橘橙柚、榴梿荔枝四個二級類別,頁面效果如圖4所示。商品頁的頁面結構包含以上所述的三個組件,其中contents組件設計為左右結構,左側為分類組件,右側為商品列表組件,右下方為分頁組件。商品列表中展示了商品圖片、名稱、規格和價格,點擊商品圖片或名稱,即可跳轉到商品詳情頁面。
3.2" 后臺系統
商城后臺系統包含商品管理、訂單管理、用戶管理、系統管理四個模塊,每個模塊對應不同的實體操作頁面。以商品管理模塊為例,該模塊包括商品分類頁面、商品信息頁面和促銷商品頁面,每個頁面都包含查詢、添加、刪除、修改功能,其他模塊下的頁面都包含這四項功能。
在頁面設計上,首先創建一個模板頁面,其他頁面的菜單繼承該模板。模板頁面引入了Bootstrap的CSS樣式表和JS腳本,其中導航欄引入水平排列表單,聯合使用Bootstrap預置的柵格類,實現label標簽和控件組的水平排列布局。
頁面的實現流程如下:首先創建視圖函數,配置視圖函數與訪問路徑的對應關系;然后創建繼承自models.Model的數據模型,進行數據遷移;最后調用接口獲取數據,將數據渲染到網頁中,生成各類后臺頁面。其中,配置數據庫的代碼如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'fresh',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'POST': 3306,
},
}
以商品添加頁面為例,頁面效果如圖5所示。該頁面可以對商品的信息進行錄入,包括商品編號、商品名稱、商品規格、產地、庫存、產品描述、價格、圖片、商品類別、發布人、發布時間、是否為促銷商品等數據,錄入的數據存儲在商品表product表中。
4" 結" 論
本文對農產品電子商城的構建進行了探索和實踐,以Python和HTML為開發語言,采用Django、MySQL、BootStrap等技術,開發構建了一個功能齊全、界面簡潔、運行穩定的在線購物平臺。用戶可以通過該平臺進行在線商品交易,管理員和商家也可以在后臺管理系統中便捷地對商品、用戶和訂單進行管理和維護,可滿足用戶、商家和管理員在線交易的需要,提高了商品交易的便捷度,節約了交易成本。后期完善的方向是對功能模塊進行擴展,進一步增強系統的可操作性。
參考文獻:
[1] 胡瑩瑾.“互聯網+”背景下農業電子商務發展對策探析——評《實戰農業電子商務》 [J].中國瓜菜,2020(1):92.
[2] 張怡.“互聯網+”背景下農業電子商務發展初探 [J].農業經濟,2019(5):126-128.
[3] 徐光耀.基于Dubbo分布式架構網上商城的研究與實現 [D].沈陽:沈陽師范大學,2019.
[4] 王軍.基于Django的高校后勤庫存管理系統設計實現 [J].計算機時代,2022(7):59-61+65.
[5] 平凱珂,陳平雁.Python與R語言聯合應用的實現 [J].中國衛生統計,2017(2):358-360.
[6] 袁鳴陽.基于Django框架的高校網絡安全培訓智能平臺的設計與實現 [D].北京:北京交通大學,2022.
[7] 譚彥.基于RFID技術的物聯網農產品質量安全管理系統的設計與實現 [J].現代信息科技,2023,7(17):160-163+167.
[8] 鄭宇彤.基于Java的農產品電子商城設計與實現 [D].武漢:武漢輕工大學,2022.
[9] 楊晟,羅奇.基于Spring Boot的在線商城系統設計 [J].科技創新與應用,2022,12(19):58-61.
[10] 任建新,王一鳴,李鑫,等.基于Java Web的智慧商城購物系統設計 [J].信息技術與信息化,2022(7):23-27.
作者簡介:譚彥(1985—),女,漢族,廣西灌陽人,講師,碩士,研究方向:計算機應用、物聯網。