摘" 要:為提高農(nóng)產(chǎn)品在線交易便捷度,節(jié)省交易成本,設(shè)計(jì)一款基于Django的農(nóng)產(chǎn)品電子商城系統(tǒng)。以Python和HTML為開發(fā)語言,采用Django、MySQL、Boot Strap等技術(shù),開發(fā)一個(gè)功能完善、操作便捷、界面簡(jiǎn)潔的在線交易平臺(tái)。用戶可以通過系統(tǒng)進(jìn)行在線商品交易,管理員和商家也可以在后臺(tái)管理系統(tǒng)中便捷地對(duì)商品、用戶和訂單進(jìn)行管理和維護(hù)。系統(tǒng)滿足了消費(fèi)者的購物需求,也為商家和客戶提供了更廣闊的市場(chǎng),同時(shí)有效提升了商品交易效率。
關(guān)鍵詞:Django;Python;農(nóng)產(chǎn)品;電子商城
中圖分類號(hào):TP311" 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):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" 引" 言
近年來,隨著信息技術(shù)的不斷發(fā)展和國家的大力倡導(dǎo),互聯(lián)網(wǎng)應(yīng)用不斷地深入人們生活中的各個(gè)領(lǐng)域,農(nóng)產(chǎn)品電商也迎來爆發(fā)式的增長。“互聯(lián)網(wǎng)+”模式為傳統(tǒng)農(nóng)業(yè)轉(zhuǎn)型至現(xiàn)代農(nóng)業(yè)提供了有效途徑,為農(nóng)村電商的崛起提供了有利環(huán)境[1]。
Web技術(shù)被廣泛應(yīng)用在多個(gè)領(lǐng)域,其中一個(gè)重要的領(lǐng)域就是搭建電子商務(wù)平臺(tái)。與線下交易方式相比,電子商務(wù)具有隨時(shí)隨地進(jìn)行交易、快速選擇產(chǎn)品和加快產(chǎn)品銷售的優(yōu)勢(shì)。憑借著全新的銷售模式,能夠有效解決農(nóng)產(chǎn)品滯銷、消費(fèi)者有錢買不到優(yōu)質(zhì)農(nóng)產(chǎn)品等現(xiàn)象[2],通過靈活方便的交易方式、簡(jiǎn)單明了的操作界面、完善安全的后臺(tái)管理來滿足消費(fèi)者多樣化的購物需求,提升商品交易管理效率[3]。
本文設(shè)計(jì)的農(nóng)產(chǎn)品電子商城以Python和HTML為開發(fā)語言,采用Django+BootStrap+MySQL等技術(shù)進(jìn)行開發(fā),為用戶和商家提供了功能完善的在線購物和管理平臺(tái)。用戶可以在線瀏覽平臺(tái)上各種農(nóng)產(chǎn)品的商品信息,并根據(jù)自己的需求下單購買商品,管理員和商家也可以在后臺(tái)方便地對(duì)商品、用戶和訂單等進(jìn)行管理。
1" 系統(tǒng)開發(fā)技術(shù)
本文的電子商城系統(tǒng)采用B/S結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)在于具有分布性特點(diǎn),處理業(yè)務(wù)便捷;業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過增加頁面即可增加服務(wù)器功能;維護(hù)簡(jiǎn)單方便[4]。商城前臺(tái)采用Bootstrap+jQuery框架進(jìn)行頁面設(shè)計(jì),后臺(tái)使用Django框架開發(fā)頁面功能,同時(shí)搭配MySQL數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。
1.1" Python
Python語言是一種面向?qū)ο蟮母呒?jí)編程語言,語言簡(jiǎn)單,容易學(xué)習(xí)且易于使用,而且免費(fèi)開源[5]。與其他語言相比,Python的類庫豐富、使用方便,能夠?yàn)橐粋€(gè)需求提供多種方案,使編程過程變得更加輕松?;谝陨咸攸c(diǎn),Python語言迅速在Web開發(fā)領(lǐng)域中占據(jù)一席之地,已成為目前Web開發(fā)的主流語言之一。
1.2" Django
Django是一個(gè)用Python語言編寫的開源Web應(yīng)用框架,利用該框架可方便快捷地創(chuàng)建高品質(zhì)、功能完善、安全性強(qiáng)的Web應(yīng)用程序。Django框架為常用的Web開發(fā)模式提供各種便捷的服務(wù),具有開發(fā)速度快、工作量小、方便靈活等特點(diǎn)。Django框架包含許多第三方插件,在開發(fā)過程中對(duì)于程序員較為方便[6]。Django對(duì)傳統(tǒng)的MVC模式進(jìn)行了修改,修改后的模式稱為MTV(模型-模板-視圖)模式。其中的M代表模型,負(fù)責(zé)業(yè)務(wù)對(duì)象和ORM(數(shù)據(jù)庫的關(guān)系映射),T代表模板,負(fù)責(zé)頁面的顯示和用戶的交互,V代表視圖,負(fù)責(zé)業(yè)務(wù)邏輯以及調(diào)用模型和模板,完成頁面的展示和交互。
1.3" BootStrap
Bootstrap是一個(gè)用于前端開發(fā)的開源工具包,是一個(gè)基于HTML、CSS、JavaScript開發(fā)的前端開發(fā)框架。該框架提供了一個(gè)帶有柵格系統(tǒng)的基本結(jié)構(gòu),并且包含了豐富的Web組件,利用這些組件可以快速地搭建一個(gè)功能完備的網(wǎng)站。Bootstrap最大的特點(diǎn)是支持響應(yīng)式布局,不僅支持PC端的各種分辨率的顯示,還支持移動(dòng)端、手機(jī)等屏幕的響應(yīng)式切換顯示。
1.4" MySQL
MySQL是一個(gè)開源、輕量級(jí)、應(yīng)用得非常廣泛的數(shù)據(jù)庫管理系統(tǒng),它具有速度快、跨平臺(tái)、安全性高等特點(diǎn)[7]。該數(shù)據(jù)庫支持多種操作系統(tǒng)和編程語言,被廣泛應(yīng)用于Web應(yīng)用程序的后端數(shù)據(jù)存儲(chǔ)。
2" 系統(tǒng)分析及設(shè)計(jì)
2.1" 需求分析
為了使用戶和管理員能夠便捷地進(jìn)行交易和管理,電子商城需提供許多必要的功能。通過對(duì)在線購物需求進(jìn)行分析,一個(gè)完整的電子商城系統(tǒng)包括前臺(tái)系統(tǒng)和后臺(tái)管理系統(tǒng)兩個(gè)部分。前臺(tái)系統(tǒng)用于用戶進(jìn)行注冊(cè)、登錄、瀏覽商品和交易結(jié)算,主要包括以下功能:
1)注冊(cè)、登錄。界面設(shè)計(jì)盡量簡(jiǎn)潔明了,方便用戶進(jìn)行注冊(cè)和登錄。
2)商品展示??砂凑丈唐吠扑]、商品類別、商品搜索等方式查詢商品,展示商品詳情。
3)購物車。用戶喜歡的商品可添加到購物車,購物車中展示已選擇的商品種類、數(shù)量和價(jià)格,并根據(jù)購物車中商品種類與數(shù)目來計(jì)算商品總金額。
4)商品結(jié)算。購物車確認(rèn)無誤后生成訂單,用戶選擇收貨地址和結(jié)算方式,進(jìn)行結(jié)算。
5)個(gè)人中心??刹榭从唵巍⑷∠唵?、查看物流,并對(duì)個(gè)人信息進(jìn)行修改,對(duì)收貨地址進(jìn)行添加和修改。
后臺(tái)系統(tǒng)用于管理員和商家進(jìn)行數(shù)據(jù)維護(hù)和系統(tǒng)管理,主要功能如下:
1)商品管理。對(duì)商品類別、促銷商品和各商品詳情進(jìn)行編輯和管理。
2)訂單管理。對(duì)所有的訂單進(jìn)行查詢和管理,可以查看和修改訂單狀態(tài)。
3)用戶管理。對(duì)已注冊(cè)用戶和商家的信息進(jìn)行管理。
4)系統(tǒng)管理。對(duì)前臺(tái)公告和用戶反饋意見進(jìn)行管理。
系統(tǒng)除了擁有盡可能全面的功能模塊,網(wǎng)站性能上同樣具有反應(yīng)快速、穩(wěn)定性、保密性等要求[8]。如創(chuàng)建訂單的響應(yīng)時(shí)間不能超過3 s,支付的響應(yīng)時(shí)間不可以超過7 s [9]。
2.2" 功能模塊設(shè)計(jì)
商城前臺(tái)系統(tǒng)包含商品信息、購物車、訂單信息、個(gè)人中心、公共信息等模塊,如圖1所示。其中商品信息模塊包括商品分類、商品詳情、商品查詢功能;購物車模塊包括購物車查詢、商品結(jié)算功能;訂單信息模塊包括訂單查詢、訂單刪除、物流信息等功能;個(gè)人中心模塊包括會(huì)員注冊(cè)、會(huì)員登錄、用戶信息、會(huì)員評(píng)價(jià)、地址管理等功能;公共信息模塊包括關(guān)于我們、幫助中心、售后服務(wù)等功能。
商城后臺(tái)功能模塊是面向管理員和商家使用的,實(shí)現(xiàn)管理員和商家對(duì)用戶、商品和訂單的管理[10]。商城后臺(tái)系統(tǒng)包含商品管理、訂單管理、用戶管理、系統(tǒng)管理等模塊,功能模塊如圖2所示。商品管理模塊包括商品分類、商品信息、促銷商品的管理功能;訂單管理模塊包括訂單查詢、訂單操作、售后管理等功能;用戶管理模塊包括用戶信息、評(píng)價(jià)管理、商家管理等功能;系統(tǒng)管理包括系統(tǒng)登錄、退出、重置密碼、權(quán)限管理、公告管理等功能。
2.3" 數(shù)據(jù)庫設(shè)計(jì)
結(jié)合電子商城的功能需求以及農(nóng)產(chǎn)品的特點(diǎn),在MySQL數(shù)據(jù)庫中設(shè)計(jì)系統(tǒng)需要存儲(chǔ)的基本數(shù)據(jù)和關(guān)鍵數(shù)據(jù)。根據(jù)電子商城系統(tǒng)的功能模塊設(shè)計(jì),數(shù)據(jù)庫中設(shè)計(jì)了用戶信息、商品詳情、商品分類、入庫表、發(fā)貨表、購物車、訂單表、物流信息、公告表、收藏表、評(píng)價(jià)表、收貨地址等數(shù)據(jù)表。以商品表product為例,表結(jié)構(gòu)如表1所示,其中包含了p_id等13個(gè)字段,分別用于存儲(chǔ)商品的編號(hào)、名稱、規(guī)格、價(jià)格等數(shù)據(jù)。
3" 系統(tǒng)實(shí)現(xiàn)
3.1" 前臺(tái)系統(tǒng)
商城前臺(tái)系統(tǒng)包括首頁、所有商品、商品詳情、購物車、我的訂單、個(gè)人中心、關(guān)于我們、注冊(cè)和登錄頁面。由于前臺(tái)頁面的界面結(jié)構(gòu)類似,每一個(gè)頁面都包含頭部、內(nèi)容和底部三個(gè)模塊的內(nèi)容,因此將每一個(gè)模塊作為一個(gè)組件,可在需要的時(shí)候進(jìn)行復(fù)用。其中header組件用于展示網(wǎng)頁的頭部信息,contents組件展示網(wǎng)頁的內(nèi)容信息,footer組件用于展示底部公共信息。
前臺(tái)系統(tǒng)中每個(gè)頁面都復(fù)用header組件作為頭部。以首頁為例,首頁頭部包含了商城logo、商品搜索欄和導(dǎo)航條,效果如圖3所示。導(dǎo)航部分由Bootstrap中的導(dǎo)航條生成,設(shè)置了六個(gè)導(dǎo)航鏈接,點(diǎn)擊即可跳轉(zhuǎn)到對(duì)應(yīng)的頁面。其中,在未登錄的狀態(tài)下點(diǎn)擊“個(gè)人中心”鏈接,將跳轉(zhuǎn)到登錄頁面,已登錄狀態(tài)下點(diǎn)擊則跳轉(zhuǎn)到個(gè)人中心頁面。首頁的內(nèi)容模塊,從上往下分別是圖片輪播組件、熱賣商品、蔬菜類商品和水果類商品,其中熱賣商品區(qū)域以圖文方式顯示了商城推薦的商品,具體信息包括商品圖片、商品名稱、規(guī)格、原價(jià)和現(xiàn)價(jià)。頁面底部復(fù)用footer組件展示商城的公共信息,包括關(guān)于我們、幫助中心和售后服務(wù)。
圖3" 商城首頁
在“所有商品”頁面中,可按時(shí)令水果、新鮮蔬菜、肉蛋水產(chǎn)三個(gè)一級(jí)類別展示商品,也可按每個(gè)一級(jí)類別下的二級(jí)類別做進(jìn)一步的分類后再展示商品,如時(shí)令水果大類下,設(shè)置了蘋果梨香蕉、瓜桃李棗、柑橘橙柚、榴梿荔枝四個(gè)二級(jí)類別,頁面效果如圖4所示。商品頁的頁面結(jié)構(gòu)包含以上所述的三個(gè)組件,其中contents組件設(shè)計(jì)為左右結(jié)構(gòu),左側(cè)為分類組件,右側(cè)為商品列表組件,右下方為分頁組件。商品列表中展示了商品圖片、名稱、規(guī)格和價(jià)格,點(diǎn)擊商品圖片或名稱,即可跳轉(zhuǎn)到商品詳情頁面。
3.2" 后臺(tái)系統(tǒng)
商城后臺(tái)系統(tǒng)包含商品管理、訂單管理、用戶管理、系統(tǒng)管理四個(gè)模塊,每個(gè)模塊對(duì)應(yīng)不同的實(shí)體操作頁面。以商品管理模塊為例,該模塊包括商品分類頁面、商品信息頁面和促銷商品頁面,每個(gè)頁面都包含查詢、添加、刪除、修改功能,其他模塊下的頁面都包含這四項(xiàng)功能。
在頁面設(shè)計(jì)上,首先創(chuàng)建一個(gè)模板頁面,其他頁面的菜單繼承該模板。模板頁面引入了Bootstrap的CSS樣式表和JS腳本,其中導(dǎo)航欄引入水平排列表單,聯(lián)合使用Bootstrap預(yù)置的柵格類,實(shí)現(xiàn)label標(biāo)簽和控件組的水平排列布局。
頁面的實(shí)現(xiàn)流程如下:首先創(chuàng)建視圖函數(shù),配置視圖函數(shù)與訪問路徑的對(duì)應(yīng)關(guān)系;然后創(chuàng)建繼承自models.Model的數(shù)據(jù)模型,進(jìn)行數(shù)據(jù)遷移;最后調(diào)用接口獲取數(shù)據(jù),將數(shù)據(jù)渲染到網(wǎng)頁中,生成各類后臺(tái)頁面。其中,配置數(shù)據(jù)庫的代碼如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'fresh',
'USER': 'root',
'PASSWORD': '123456',
'HOST': 'localhost',
'POST': 3306,
},
}
以商品添加頁面為例,頁面效果如圖5所示。該頁面可以對(duì)商品的信息進(jìn)行錄入,包括商品編號(hào)、商品名稱、商品規(guī)格、產(chǎn)地、庫存、產(chǎn)品描述、價(jià)格、圖片、商品類別、發(fā)布人、發(fā)布時(shí)間、是否為促銷商品等數(shù)據(jù),錄入的數(shù)據(jù)存儲(chǔ)在商品表product表中。
4" 結(jié)" 論
本文對(duì)農(nóng)產(chǎn)品電子商城的構(gòu)建進(jìn)行了探索和實(shí)踐,以Python和HTML為開發(fā)語言,采用Django、MySQL、BootStrap等技術(shù),開發(fā)構(gòu)建了一個(gè)功能齊全、界面簡(jiǎn)潔、運(yùn)行穩(wěn)定的在線購物平臺(tái)。用戶可以通過該平臺(tái)進(jìn)行在線商品交易,管理員和商家也可以在后臺(tái)管理系統(tǒng)中便捷地對(duì)商品、用戶和訂單進(jìn)行管理和維護(hù),可滿足用戶、商家和管理員在線交易的需要,提高了商品交易的便捷度,節(jié)約了交易成本。后期完善的方向是對(duì)功能模塊進(jìn)行擴(kuò)展,進(jìn)一步增強(qiáng)系統(tǒng)的可操作性。
參考文獻(xiàn):
[1] 胡瑩瑾.“互聯(lián)網(wǎng)+”背景下農(nóng)業(yè)電子商務(wù)發(fā)展對(duì)策探析——評(píng)《實(shí)戰(zhàn)農(nóng)業(yè)電子商務(wù)》 [J].中國瓜菜,2020(1):92.
[2] 張怡.“互聯(lián)網(wǎng)+”背景下農(nóng)業(yè)電子商務(wù)發(fā)展初探 [J].農(nóng)業(yè)經(jīng)濟(jì),2019(5):126-128.
[3] 徐光耀.基于Dubbo分布式架構(gòu)網(wǎng)上商城的研究與實(shí)現(xiàn) [D].沈陽:沈陽師范大學(xué),2019.
[4] 王軍.基于Django的高校后勤庫存管理系統(tǒng)設(shè)計(jì)實(shí)現(xiàn) [J].計(jì)算機(jī)時(shí)代,2022(7):59-61+65.
[5] 平凱珂,陳平雁.Python與R語言聯(lián)合應(yīng)用的實(shí)現(xiàn) [J].中國衛(wèi)生統(tǒng)計(jì),2017(2):358-360.
[6] 袁鳴陽.基于Django框架的高校網(wǎng)絡(luò)安全培訓(xùn)智能平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京交通大學(xué),2022.
[7] 譚彥.基于RFID技術(shù)的物聯(lián)網(wǎng)農(nóng)產(chǎn)品質(zhì)量安全管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2023,7(17):160-163+167.
[8] 鄭宇彤.基于Java的農(nóng)產(chǎn)品電子商城設(shè)計(jì)與實(shí)現(xiàn) [D].武漢:武漢輕工大學(xué),2022.
[9] 楊晟,羅奇.基于Spring Boot的在線商城系統(tǒng)設(shè)計(jì) [J].科技創(chuàng)新與應(yīng)用,2022,12(19):58-61.
[10] 任建新,王一鳴,李鑫,等.基于Java Web的智慧商城購物系統(tǒng)設(shè)計(jì) [J].信息技術(shù)與信息化,2022(7):23-27.
作者簡(jiǎn)介:譚彥(1985—),女,漢族,廣西灌陽人,講師,碩士,研究方向:計(jì)算機(jī)應(yīng)用、物聯(lián)網(wǎng)。