2021年第04期
(总第220期)七蓿窟画蓿
基于Django框架的美多商城系统设计与实现
董汉晶、聂雅琳\胡奎强、闵志宇2
(1.洛阳理工学院计算机学院,河南洛阳471023;2洛阳理工学院材料学院,河南洛阳471023)
摘要:随着中国社会现代化进程的不断推进,传统的购物方式也发生了巨大的变化,现在人们更倾向于网上购物,特别是 接触互联网较多的年轻人,网上购物系统不仅有着更优惠的价格,也为大家省去了线下游逛的时间。文章主要研究基于 python语言D jango框架下的美多商城设计与实现,采用前后端分离模式,分为用户模块,商品模块,购物车模块以及订 单模块的前端页面展示和后端逻辑部分。通过这些模块的协同工作,很好的展现了 D jango框架用于w eb服务搭建的优 势,能够为用户提供完整的网上购物体验。
关键词:D jango框架;w eb服务;商城设计
中图分类号:TP309 文献标识码:B文章编号=2096-9759(2021)04-0125-03
1课题研究背景及意义
网上商城作为电子商务是最经典和直接的体现,现在已 经成为全球比较热门的行业,依靠着网络方便、快捷等优势让 人们更加的喜欢使用网上商城购物,同时也解决了相当一部 分人的就业问题,以及促进经济更好更健康的发展。
与传统的线下店铺想对比,网上商城具有很大的优势。在 网上商城用户可以在任意时间地点进行浏览和选购心仪的产 品,没有任何的限制,并且购买成本低。网上商城能真正的实 现24小时全天候营业,没有营业时间限制。网上商城还有网 络无地域的优势,国内外的中国产品也可以包含在内。综上 所述,网上商城可以极大地提高人们的生活效率[1]。
2功能模块设计
设计的原则是以用户需求为中心,以生产促进需求实现的 过程。划分不同的功能模块之前需要统计用户需要的功能,对 功能进行划分并进行可行性分析和成本估算。只有当审核通过 的功能才能进入开发阶段。一个完整的项目开发有前后端分离 和不分离两种模式,前后端分离的好处是不用协调前后端开发 人员的进度问题。只需要给前后端规定好A P I接口,这样前后 端的不同开发人员就可以按照自己功能模块的进度去完成气 本设计采用前后端分离的开发模式,后端的业务逻辑代 码需要根据前端客户端的不同需求来编写,首先需要确定前 端的具体页面需求。前端部分的需求分析如图1所示:
前端部分
【用户页面1商品贝面I%车夏订单K面夏运赛蜃台】
图1前端页面分析
后端业务逻辑通过D jango匹配相应的请求,具体模块如图2所本:
后纗部分
【用户横块I•品*块I說车夏订,《块夏横块】
图2后端模块分析
后端作为本设计的重要开发模块,其中的用户模块,商品 模块和订单模块是最重要的三大模块。3模块数据库设计
3.1用户模块
用户模块是最重要的三大模块之一。主要提供注册,登 录,收藏,下单等主要的w eb功能。在数据库中创建用户表用 于存储用户信息,主要存储的用户信息字段有id,password,em ail,m obile等。数据
库表格的具体实现通过D jango框架中 的对象关系映射(ORM)系统搭建,将数据库表格映射成mod-el.p y中的class类,并通过相应的语法格式建立表中的字段和 不同表的关系映射。
其中有关用户数据的表结构如表1所示:
表1用户表结构的设计
Field Type Null Key Default
id Int(l l)NO PRI NULL
password varchar(128)NO NULL
username varchar(丨50)NO UNI NULL
email vnrchar(254)NO NULL
mobile varchar(11)NO UNI NULL
isactive tinyint(1)NO NULL
is staff tinyint⑴NO NULL
lastlogin datatime(6)YES NULL
datajoined datatime(6)NO NULL
3.2商品模块
商品模块是整个世纪最重要,也是最复杂的模块。其中 涉及到商品的分类,商品相关的信息资料,还有商品的品牌,规格,类别,图片信息等等。
在电子商务中,商品有两个重要的概念:S K U和SPU。SPU(标准产品单位)是商品信息聚合的最小单位,属性相同的 商品就可以称为一个SPU。SKU(库存量单位)是库存进出计 量的单位。可以是以件,盒,托盘等为单位,是物理上不可分 割的最小存活单位。
商品的数据库表格有九个,分别是tb_goods(商品),tb_sku (商品 SKU),tb_sku_specification(SKU规格信息),tb_sku_im-age(SKU图片),tb_goods_specification(商品规格),tb_specifi-cation_option(规格选项),tb_goods_category(商品类别),tb_ goods_channel(商品频道),tb_brand(品牌)。其中他们之间的 E-R关系图如图3所本:
收稿日期=2021-03-29
基金项目:河南省高等学校重点科研计划项目(项目编号:19A120009、21B510006)支持。
作者简介:董汉磊(1983-),男,河南邓州人,洛阳理工学院计算机学院,讲师,主要研宄方向:信号与信息处理、计算机应用。125
图3商品数据表E 41关系图
商品的不同数据表之间存在不同的关联,一般分为主键, 外键关联。商品信息表设计如表2所示:
表2商品SPU 数据表
F ie ld Type N u ll K e y D e fa u lt id
im ( 1 U N O PRI
N U L L cre a te _lim e d a la lim e (6)N O N U L L u pda lim e
d a ta lim
e (6)N O N U L L name va rc h a r(50|N O N U L L sales I i U (l l )N O N U L L com m ents tnt( 11)N O N U L L brand—id i n i (l l )N O M U I N U L L category id i n t (!l )N O M U I N U L L desc—de tail lo n g te xt N O N U L L desc_pack lo n g  t e x t N O N U L L desc service
Longiexi
N O
N U L L
3.3购物车模块
购物车模块的业务需求有以下几点:(1)
在用户登录与未登录的状态下,都可以保存用户的购 物车数据。
(2) 用户可以对购物车数据进行増,删,改,査。
(3)
用户对于购物车数据的勾选,订单结算界面会用到勾 选数据。
(4) 用户登录时,合并cookie 中的数据到redis 中。
对于未登录的用户,购物车数据主要使用浏览器中的
cookie 保存,已登录用户的购物车数据使用后端的redis 保存。
将购物车数据保存到cookie 之前需要使用pickle 进行序列化 转换,并使用base 64编码为字符串。
4
用户界面设计
在人与机器的互动过程中,有一个重要的层面就是界面。
人与机器理解指令的方式是不同的,机器也有自己的机器语 言,但人不能直接理解这些深奥难懂的机器操作,这时需要 建立一个界面去供用户理解机器的操作并足以下达指令操 作机器。用户界面设计是屏幕产品的重要组成部分,一个界 面设计的好坏直接带来用户对当前产品的第一印象。随着 当下用户界面设计的不断发展,用户界面不再只是一个单纯 的信息展示平台,而是一个融合了心理学,语言学,设计学等 不同学科的重要部分。用户界面设计的好坏会直接影响到 一个软件的市场寿命,所以每个开发人员对用户界面的设计 都是十分重视的。本设计也不例外,严格按照用户设计原则 设计而来。
用户设计主要包含三个原则。既保证用户界面的一致性, 降低用户的记忆负担,保证用户完全的控制性气
4.1用户界面一致性
一致性是每一个界面设计都需要具备的特点。必须要有 清晰且一致的界面结构,风格必须要与内容相一致。要让用
户便于使用和了解,减少用户发生错误选择的可能性。4.2降低用户记忆负担
用户浏览大量商品时时可能会产生大量的记忆负担,往 往在选中喜欢的商品后会继续浏览,再次选中其他商品时可
126
能会遗忘前面的商品,这时需要提供一些视图来帮助降低用 户的负担。比如我们可以将用户浏览过的商品信息单独记录 起来,又或是将用户喜欢的商品收藏,这些都是降低用户记忆 负担的方法之一。
4.3用户的控制
要从用户的角度去考虑问题,要知道在这个界面用户需 要做些什么,并提供灵活的选择,且所有的选择都必须是可逆 的。在用户做出危险选择时要有信息提示介入,保证用户操 作的安全性。
5前台页面的实现
前台页面是面向用户的界面。对于大部分的用户而言,他们都没有接触过开发流程,不会使用终端命令窗口去使用 项目。所以我们需要编写一个前台页面去供用户使用,后台 处理过的数据传送给浏览器解析[4]。最后呈现在用户面前的 就是人性化的可视操作页面。这些页面主要有网站首页,登 录注册页面,商品详情页,购物车页面,订单结算页面等等。5.1系统网站首页
系统网站是用户进入系统的第一个页面,也是用户进行 操作的首选页面。本页面需包含此系统的大部分功能,如注 册登录,浏览商品,添加和查看购物车,查看订单等等。
5.2注册登录页面
用户在商城进行各项操作之前都需要验证身份。对于首 次访问本网站系统的用户,提供注册页面以及登录页面使其 完成身份验证。对己有账号的用户可凭借己注册的账号和密 码完成登录操作。注册时,用户需设置自己的账号名和密码,获取后端验证码完成人机验证,提供手机号码完成短信验证 并需要勾选同意本系统的用户协议。用户提供的两次密码必 须相同,图片验证码以及短信验证码也必须一致才能完成整 个注册流程。用户登录时,需提供自己已注册过的账号名和 密码完成身份验证。同时用户可以选择第三方账号Q Q或微 信登录,不过首次登录成功后需要绑定或注册自己的美多账 号才能正常使用。
5.3用户中心页面
用户中心是用户的个人信息管理界面。这里可以对用户 的可修改资料进行修改,如用户名,密码,头像等。用户也可 以在这里管理自己的收货地址,查看自己的全部订单。
5.4商品详情页
商品详情页商品具体信息详细展示,可为用户提供详细 了解和收藏,添加购物车以及立即购买等操作的页面。主要 展示了商品的具体规格,详细信息,版本选择和收藏购买操作。
5.4购物车页面
购物车页面是用户预购买商品的集合地,存放用户的心 仪产品,包含商品的基本概要信息,价格着重显示。商品可选 中并提交订单,完成购买。
5.6提交订单及支付页面
提交订单页面是在选中购物车商品点击购买后所生成,需 要生成订单号,创建时间,确认购买商品信息,收货人,联系电 话以及收货舰等信息。支付后会縣支付成功并跳转到首页。6系统的运行与测试
6.1页面显示测试
首先对本设计的各个页面进行测试,开启前后端程序,可
发现分页面显示正常。
6.2注册登录功能测试
注册页面测试图片验证码后端获取是否正常,短信验证
码是否收发正常,两次密码对比提示是否正常以及手机号码
格式提示是否正确。经过测试,系统注册页面功能正常。
6.3商品浏览测试
商品点击功能需有详情页展示,主要有商品参数,价格,
用户选择等基本功能选择。需要具备直接购买或是添加购物
车按钮。经过测试,本系统商品详情页面显示正常,拥有要求
的信息展示和基本功能按钮。
6.4用户中心测试
用户中心需要显示用户的个人基本资料,包括头像,昵称,
个人签名等等。要求提供修改个人基本信息,密码和更换手
机号码等功能。本系统经测试可修改用户基本信息,更换手
机号,修改密码等基本要求。
本系统经过测试系统的详细测试,基本具有了所需的功能,
各个部分功能设计均可正常使用。
7结语
本文主要采用了 P ython语言作为基础,灵活运用Django
框架,第三方库及第三房工具来进行设计开发。详细技术上
涉及到w eb开发体系结构的选择,D jango框架项目的建立,
数据库的选择与配置等。根据需求的不同,本设计使用前后
端分离的模式搭建前后端业务逻辑。前端页面采用了 CSS, JS,JQ uery等技术,并根据前后端开发约定端口在JS操作代
码中编写好向后端发起请求的A P I借口。后端业务逻辑代
mui框架常用组件有哪些码需要根据前后留下的A P I开发借口实现业务路由,逻辑函
数处理,数据库数据存取,模板嵌入数据,返回响应对象等功 能。实际的项目启动时,前端H T M L页面由node.js前端服
务器启动,不需要后端支持即可直接由本机IP地址,端口号
及文件路径直接访问。后端项目启动后可对启动的前端页
面进行实际的功能操作,后端会进行请求处理并返回响应。
在第三方工具中主要使用了云通讯第三方短信验证平台提
供的模板用于用户注册时的短信验证身份功能[5]。本系统在
之后的完善中还需要多使用re d is的缓存机制,系统的数据
库接口也要有相应的优化,进一步提升用户数据的查询速 度。
参考文献:
[1]欧瀚祺,杨莎.基于D jango的物品租赁管理系统的设计[J].
电脑知识与应用,2020,16(35):59-61.
[2]杨众.基于S pringB oot的校园商城系统设计与实现[J].信
息技术与信息化,2020 (09):81-82.
[3]吴春梅,蒋林利,余荣川.基于Python和D jango框架的二
级学院资料室图书管理系统设计与实现[J].无线互联科技,
2020,17(16):67-70.
[4]王柯梦,王瑞平.基于B2C网上商城前台系统数据库设计
与实现[J].广西质量监督导报,2020 (09):70-71.
[3]吕戌杪,粟艺峰,张蒙蒙,刘晶.基于Django的煤矿地测防治
水信息管理系统的设计与实现[J].科技经济导刊,2020,28
(15):13-14,
127

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。