计算机科学与技术-基于vue+python的鲜果乐生鲜商城_第1页
计算机科学与技术-基于vue+python的鲜果乐生鲜商城_第2页
计算机科学与技术-基于vue+python的鲜果乐生鲜商城_第3页
计算机科学与技术-基于vue+python的鲜果乐生鲜商城_第4页
计算机科学与技术-基于vue+python的鲜果乐生鲜商城_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE 基于python的鲜果乐生鲜商城摘要:随着互联网巨大的发展,网上购物在广大基层人民中普及,现在的人们越来越多的加入上网购物的行列,因此也衍生出了许多新的电商模式。根据销售的目标的不尽相同而分为B2B和B2C两种模式。B2B是体现在企业同企业之间的一系列包括但不仅限于商业的活动,提到它就会跟很大量级的物流所挂钩,当然还有许多其他大大小小纷繁杂乱的商务类型的活动,而B2C面对的则是企业与个人买家,是大对小的关系,这相当于零售的范畴。本系统是一个个人开发的WEB应用,采用pyhton的开源框架djangorestframwork开发,包含了网上商城所需要的基本功能,像是登录注册,浏览收购买支付等等都是本系统所要实现的功能,这些小的功能结合在一起便构成了这整个网上生鲜商城。这个系统能够解决人们对网上购买生鲜食品的需求,可以极大的方便人们的生活,让不喜欢出门的人也能够第一时间享受到美食,日后必定能够刺激消费,使GDP得到增长。关键词:生鲜商城系统,djangorestframwork,方便快捷Python-BasedFreshFruitStoreAbstact:WiththehugedevelopmentoftheITandthepopularityofonlineshopping,onlineshoppingispopularamongthemassesofgrassrootspeople,andnowpeopleareincreasinglyjoiningtheranksofonlineshopping,somanynewe-commercemodelshavebeenderivedaccordingtothedifferentsalestarget,itcanbedividedintoalotmodes:B2BandB2C.B2Bisthebusinessactivitybetweenenterprises,whichincludesmanyotherbusinessactivitiesbesidesthebulklogistics,whileB2Cisthebusinessactivitybetweenenterprisesandindividuals,whichbelongstotheretailcategory.ThissystemisapersonaldevelopmentoftheWEBapplication,theuseofpyhtonopensourceframeworkdjangorestframworkdevelopment,includingthebasicfunctionsrequiredbytheonlinemall,suchaslogin,registration,browsing,purchasingandpaymentarethesystemtoachievethefunction,thesesmallfunctionstogetherconstitutethewholeonlinefreshmall.Thissystemcansolvepeople'sdemandforonlinepurchaseoffreshfood,whichcangreatlyfacilitatepeople'slife.Peoplewhodonotliketogooutcanalsoenjoydeliciousfoodinthefirsttime,whichwillsurelystimulateconsumptionandincreaseGDPinthefuture.Keywords:FreshStoreSystem;,DjangoRestFramwork,ConvenientandEfficient目录5936第1章绪论 153871.1课题背景 1136071.2目的和意义 176111.3国内外电商发展现状 219071.4论文的主要研究内容 39572第2章需求分析 3107442.1系统的功能需求 4291732.2系统的数据流图 415372.3UML建模 5323232.4本章小结 920221第3章系统设计 10277163.1开发工具介绍 10292453.1.1系统整体架构 10251693.2功能模块设计及功能 11311753.3数据库设计 15295083.3.1E-R图设计 1588063.3.2数据表设计 16288373.4本章小结 2010150第4章系统实现 21162124.1系统主体设计 2172724.1.1商品展示模块实现 21190114.1.2购物车模块实现 2274534.1.3登录注册模块实现 23195194.1.4后台管理模块实现 26207284.1.5支付模块实现 28125144.2本章小结 296548第5章系统测试 3036125.1测试的目的及意义 3032955.2测试用例及测试结果 307555.2.1系统登录测试 30295175.2.2系统注册测试 31280185.2.3购物车测试 3252705.2.4订单支付测试 32145585.2.5个人信息页测试 34121855.3本章小结 3420128参考文献: 357700致谢 36PAGE36第1章绪论1.1课题背景如今互联网的市场环境已经接近成熟和饱和,其对传统行业的冲击亦是不能忽视的。目前来说我国的大部分城市,它们的电脑和互联网的覆盖率已经十分的惊人,可以说是几乎人手就有一台手机和电脑,这样的情况使得有些人抓住互联网发展机遇,顺应了时代潮流,催生出了许许多多的年轻富豪,其中就包括创办了京东的刘强东,还有悔创阿里杰克马,虽然他们的轶事为人津津乐道,但是不可否认他们的财富积累是以一种十分惊人的态势升高的,很快他们就超过了许多传统产业巨头,把早年的”钢铁大王”和其他几代人共同努力慢慢积累财富的红色资本家甩在在了后面,可以很容易看出目前的富豪榜上互联网巨头就占据了半壁,马云之所以能够在中国首富赞占据一席之地,说明了互联网市场所具有的巨大的潜力,而这潜力还远远没有尽头,在人们经济水平不断提高的同时,人们的思想也更加的开放,原先视上网如洪水猛兽的人也不知不觉的接受并加入到了上网的行列中去。由于网络购物的便利性以及年轻人们追逐潮流这使得网购渐渐已经成为共识,人们会不自觉的去进行这项活动。只要人们还在上网就不可避免的会被网上的信息所影响,这无疑会对身处其中的人的思维或者消费模式产生一定的改变。久而久之人们更习惯遇到需求就在网上进行搜索,而一旦他有上网的需求就不可避免的会对比不同商家的不同产品,而当你拥有网上的购物平台时,你的未来便会无限延申,每个人都将可能会是你的潜在用户,只要你你能够满足他的需求。即使一时之间这位潜在客户没有任何购物欲望,但是一旦以后他有这样的想法便会去上网,所以说在这个泛互联网时代所有人其实都是你的潜在客户,这个前提便是你的企业和产品要在网上有存在,能够让用户搜索得到,假设一下,若是你连存在都没有,又谈何同其他企业竞争,怕是已经被远远的甩在了身后,连被比较的资格都没有,这也是为什么现在顺应互联网浪潮是多么的重要。1.2目的和意义基于python的这个鲜果乐生鲜商城系统是一个个人店家所经营的生鲜商城,店家拥有自主经营权以及可以自己实现对商品的管理,操作简单不复杂,且功能齐全,系统具备基本商城所拥有的功能像是商品的浏览,首页有商品的推广,全局搜索功能,以及用户收藏,用户下订单等等功能,同时用户还可以在购买时留言,值得一提的时本系统有十分简洁又功能强大的后台管理系统,只需要简单的管理员登录操作就可以使用,系统还提供十分美观又简洁的商品详情信息页,大大增加顾客的浏览体验,并且由于操作的便利,店家不需要知道太多专业相关的知识,可以说是人人都可以上手。网上购物是一种新的经济模式,在这样的电子信息时代,它不仅影响了商业的运转过程,也影响了商业的运转方法,这其实就是一场没有硝烟的技术革命,所谓商城场如战场,这是它的影响就不仅仅是跟商业相关而已了,他已经从不同方面对社会的生产管理、人们的生活和就业产生影响,不仅如此人们的想法、思考的方式和往来沟通的方式也因为法律制度甚至于政府的职能当然还有文化被影响而改变。网上商城的好处在于,它能够增加你的商品曝光率,使你拥有更多的潜在客户,拓宽你的商业市场,它在获取更高利益的同时还在帮你节省费用和开支,降低你的投入成本,它还能够做到实体店做不到的比如加快商品之间的流通,让客户对你的反馈更快更方便等等。往远的方面展望,随着互联网的蓬勃发展,越来越多的个人用户将投身于网上购物的浪潮,在享受巨大便利的同时,市场的竞争会越来越激烈,成本不可避免的会成为商家之间的手段,这无疑会带动这一新发展出来的的网络经济模式。1.3国内外电商发展现状国内有名的电商巨头如阿里,京东便是走在时代前沿,其中京东是后来者,但是凭着这几年的发展也占有了很大的市场份额,这几年又相继涌现了像是拼多多等的独角兽企业,让人感到这份蛋糕似乎还没有完全被分完。国外的老牌电商就不得不说亚马逊了,杰夫贝佐斯作为亚马逊的创始人也是蝉联世界首富榜多年,根据阿里的研究院所推测,预计2020年跨境电商交易规模将达到12万亿元方德花.跨境电商人才培养校企合作问题探讨[J].经贸实践,2018(03):271-272.方德花.跨境电商人才培养校企合作问题探讨[J].经贸实践,2018(03):271-272.由此可见,现在的无论是国内还是国外,电子商务的发展前景都是十分光明的,现在投身其中是一种机遇亦是一种挑战。1.4论文的主要研究内容本论文主要是研究如何使用python的流行框架djangorestframwork来开发一个简洁功能且功能齐全的网上生鲜商城系统,这个系统主要实现了商品的浏览,商品加入购物车,用户对商品下单,用户支付订单等一系列基本功能,另外还要实现一个简洁易操作的后台管理界面,这由另外一款开源插件xadmin来完成,这个商城系统顺应时代潮流,在如今人人都网购的大环境中为人们提供便利,亦能促进经济发展,节省开支,增加收益。下面将会列出论文的主要设计内容:由pycharm作为平台、采用MTV的设计模式官方推荐的开源框架djangorestframwork实现美观简洁的商城系统。将会介绍系统主要使用的技术和所使用的简单架构,当然也会包括开源框架的大致介绍。将会对设计进行简单的需求分析,并且还是有具体的系统设计阶段,还包括部分模块的实现,数据库的设计和选择等等。测试将会采用黑盒测试法,对系统的功能进行测试。第2章需求分析所有系统的开发都离不开需求分析,详细的需求分析会给后续开发带来巨大得便利。清楚的需求分析能够让开发者和甲方更好的达成共识,减少因为后续实现后的功能不满意而推翻重来的尴尬局面,减少可能产生的损失。2.1系统的功能需求随着科技发展,电商也如雨落春笋般四处开花,如今比较流行的电商网站已然成为人们生活中不可缺少的重要组成部分,我们的衣食住行都十分依赖着他,可以说你想的你需要的都可以在网上找到相关的信息,因此这个生鲜商城系统的初衷便是为了满足足不出户便可在家享受到新鲜果蔬和事物的人群,这个系统的主要参与者分为两种即普通用户和管理员,功能也是由这两个参与者划分成2块,用户模块又包含了用户商品浏览,用户进行登录注册,用户对商品的收藏,用户对商品下单,管理员模块的主要功能则为商品信息管理,订单信息管理和用户信息管理。2.2系统的数据流图系统相关的顶层数据流图的过程是用户和管理员对系统发出各种请求如登录请求,注册请求等,系统在收到请求后生成反馈,如图2-1所示:图2-1系统的顶层数据流图系统的整体数据流图的数过程是用户通过登录信息登录,通过注册信息注册,浏览商品时通过商品编号来收藏,将生鲜加入购物车也是通过商品编号,系统查询对应的表后返回相对的信息,管理员则是通过用户,商品,订单等信息对表进行管理,系统接收到后反馈回页面如图2-2所示:

图2-2系统的数据流图1层图2.3UML建模1.明确参与者(角色)此系统的参与者可以很明确的知道有两种,及管理员和用户,因此根据参与者的不同可以分别画出他们的相关用例图。2.用户用例图用户用例图的用例包括浏览商品,个人信息修改,下单,将商品加入购物车,注册,登录,收藏商品,如图2-3所示:图2-3用户的用例关系图下面列出几个用例规约:表2-1注册用例规约用例编号2-1用例名称注册功能描述给需要收藏商品或者访问购物车的用户进行注册执行者用户前置条件进入注册相关的页面后置条件当注册完成后会自动转发到login页涉众利益注册用户基本路径用户进入注册界面进行注册1.1用户进入系统界面,点击注册的链接或按钮1.2填写注册信息1.2.1输入注册信息(手机号、验证码、密码等)1.2.2系统跟数据库匹配,进行验证码的检验1.3数据库保存用户信息,用户注册成功1.3.1更新用户信息库,添加用户注册信息(密码、手机号等)1.3.2弹出窗口提示注册成功,并跳转至登录页扩展1.2a若输入的手机号有问题,系统将会提示输入有效的手机号字段列表密码、验证码、手机号备注无表2-2商品加入购物车用例规约用例编号2-2用例名称购物车功能描述将所需要购买的生鲜等物品加进去购物车里面执行者用户前置条件处在某个生鲜的详细信息页后置条件添加后跳转到购物车涉众利益用户基本路径1、用户在商品详细信息页浏览1.1选择商品1.2.1在商品分类中选择其中一种需要购买的1.2.2选择购买数量1.2点击加入购物车按钮1.3跳转到购物车页1.3.1填写收货地址1.3.2选择支付方式扩展1.3a目前只支持支付宝付款1.3b收获地址不能为空,需要至少一个收货地址字段列表收件人、手机号、收件地址备注无表2-3用户下单用例规约用例编号2-3用例名称下单功能描述用户下单并支付需要购买的商品执行者用户前置条件购物车中有商品,至少有可选的收货地址后置条件添加后跳转到购物车涉众利益用户基本路径1、用户在购物车界面1.1点击下单按钮1.2跳转到支付页面1.3扫码完成支付1.3.1支付成功,跳转回原页面1.3.2支付失败返回订单界面扩展无字段列表无备注无3.管理员用例图管理员用例图的用例包括商品信息管理,订单管理,用户信息管理,登录,其用例图如图2-4所示:图2-4管理员的用例图下面列出几个管理员的用例规约:表2-4订单管理用例规约用例编号2-4用例名称订单管理功能描述管理员对订单信息进行操作执行者管理员前置条件管理员登录后台页面后置条件数据库得到更新涉众利益管理员基本路径1、管理员进入后台页面1.1点击订单选项1.2更新订单信息(增、删、改)1.3保存订单信息扩展无字段列表订单时间、订单金额等备注无表2-5用户信息管理用例规约用例编号2-5用例名称用户信息管理功能描述管理员对用户信息进行操作执行者管理员前置条件管理员登录后台页面后置条件数据库得到更新涉众利益管理员基本路径1、管理员进入后台页面1.1点击用户选项1.2更新用户信息(增、删、改)1.3保存订单信息扩展1.2a用户隐私信息不可见字段列表用户名、手机号等备注无2.4本章小结本章通过需求分析确定了将要实现的功能有两大类,分为前后,另外从参与者角度出发进行UML建模给各个角色制定了用例图,并附加规约表进行了详细的解释,不仅如此还通过数据流图更好的展示了数据走向,让需求更加的清晰。系统设计3.1开发工具介绍1.开发语言:本系统采用python3.5为主要语言开发,python具有多平台兼容,易学易用,可拓展性强,丰富的生态等许多优点,作为开发用是十分好用的语言。2.框架选择:好的框架能够令开发事半功倍,这里后端采用的是python的一个开源框架djangorestframwork陈占省.基于REST架构风格的电机制造物联网系统[D].陈占省.基于REST架构风格的电机制造物联网系统[D].3.开发软件:数据库方面经过采纳用的是MYSQL5.5的通用版本,这个版本是相对好用的一个版本,MYSQL也是目前使用人物最多的免费数据库软件,功能和社区十分强大,IDE选择的是pycharm这个软件,依然是功能十分强大的开发软件,能够令开发事半功倍。3.1.1系统整体架构同java语言不同的是,django的架构是MTV而不是大家都比较熟悉的MVC,但是其实现的原理是大同小异的。(1)M(model):M即是模型层,这一层的主要作用是写同数据库交互的逻辑,,django有一套自带的ORM,十分强大,只需要按照他给定的规则去定义好数据库中的字段,便可以对数据库进行增删改等操作。(2)T(template):T是模板,代表的是模板层,django有自己的模板语言,其作用是将数据库中的变量得以嵌入到HTML中去。(3)V(view):V即是视图层,视图层类似于JAVA中的controller,用来实现业务逻辑。此外,django还有一个路由系统,用来对视图和路由之间进行映射,简单来说就是一个URL对应一个视图。他们的具体关系图如图3-1所示。 图3-1系统整体架构3.2功能模块设计及功能网上生鲜商城分为前台和后台两部分,其中前台模块主要负责服务于用户,有与用户进行交互的功能,主要有登录注册,商品展示,购物车,用户订单,用户信息,支付等模块,后台则主要是由管理员操作,有管理员登录,订单管理,商品信息管理,用户信息管理等。图3-2系统的功能模块图(1)前台模块:登录注册模块:用于用户的登录注册,注册是通过手机发送验证码注册,登录可以 通过注册时填写的用户名或手机号来进行登录.用户浏览商城不需要登录。如图 3-3是用户登录流程图,图3-4是用户注册流程图。图3-3用户登录流程图图3-4用户注册流程图商品展览模块:商品展览模块包含了商品展览列表页,商品详细信息页,不同商品之间的分类,其中列表页用于展示商品,详细信息页包括了商品的具体信息如商品叫什么,商品的数量有多少,商品的单价是多少,商品库存还剩多少,商品的简短介绍等,商品分类包括分类的名称,分类的具体描述,分类的不同类型等。购物车:购物车主要是用于用户添加想要购买的物品,添加完后购物车会统计总价,方便用户下单,用户添加物品到购物车后,可以下单,如图3-5是购物车流程图。图3-5购物车流程图用户订单:订单分为已付款和未付款两种状态.订单保存用户从购物车添加后下单的商品信息,包括商品列表,商品总价,下单时间,订单编号等。用户个人中心:用户个人中心展示着用户的个人信息,商品收藏,我的订单,以及收获地址的删改等。支付:当用户下单并付款时,将会弹出付款码进行支付,支付的接口采用支付宝的支付接口。后台管理模块:管理员登录模块:跟用户登录模块类似.只不过管理员是superuser,具有许多用户所没有的权限。订单管理模块:管理员能够在后台的界面中查看到一切订单,并对订单进行必要的操作。商品信息管理模块:管理员在后台可以查看到所有的商品类别,并可以添加新的商品,也可以删除修改商品信息。用户信息管理模块:管理员在后台界面中能够浏览用户的个人信息但不包括加密信息,比如说密码,此外也能够对用户信息进行一系列的管理比如增加记录,删除和修改记录等。3.3数据库设计数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式。于中远,王亚平.应用环境中最优数据库模式的构建[J].河南科技,2011(21):56-57.好的数据库设计可以减少后续开发的难度于中远,王亚平.应用环境中最优数据库模式的构建[J].河南科技,2011(21):56-E-R图设计本系统的数据库设计E-R图如图3-2所示:图3-5E-R图3.3.2数据表设计根据需要本系统需要创建一个数据库supermarketOL,此外还需要创建7张表,分别是存储用户信息的userinfo(用户信息表),admin(管理员表),包含所有商品信息的goods(商品信息表),存储商品种类的goods_category(商品分类表),存储接收到的验证码的verifycode(验证码表),存储订单的orderinfo(订单信息表),存储订单详情的orderdetail(订单详情表)。表3-6用户信息表userinfo字段名字段类型字段长度字段含义IDVARCHAR20主键NAMEVARCHAR30用户名PASSWORDVARCHAR30密码BIRTHDAYVARCHAR30生日GENDERVARCHAR2性别MOBILEVARCHAR50手机号码EMAILVARCHAR200邮箱ADDRESSVARCHAR200地址表3-7用户信息表verifycode字段名字段类型字段长度字段含义IDVARCHAR20主键CODEVARCHAR30验证码MOBILEVARCHAR30手机号码ADD_TIMEDATETIME30创建时间表3-8管理员表admin字段名字段类型字段长度字段含义IDVARCHAR20主键USERNAMEVARCHAR30用户名PASSWORDVARCHAR30密码EMAILVARCHAR50邮箱表3-9商品信息表goods字段名字段类型字段长度字段含义IDVARCHAR20主键GOODS_SNVARCHAR50商品编号NAMEVARCHAR100商品名称CLICK_NUMINT6点击量SOLD_NUMINT6销售量GOODS_NUMINT6商品库存FAV_NUMINT6收藏数GOODS_IMAGEVARCHAR200商品图片IS_NEWTINYINT1是否新品IS_HOTTINYINT1是否热销CATEGORY_IDINT5分类IDTRANSLATE_FREETINYINT1是否免运费ADD_TIMEDATETIME创建时间表3-10商品分类表goods_category字段名字段类型字段长度字段含义IDVARCHAR20主键NAMEVARCHAR50分类名称CODEVARCHAR200分类码DESCVARCHAR200分类描述CATEGORY_TYPEINT2分类类型PARENT_CATEGORY_IDVARCHAR20分类父类型表3-11订单信息表orderinfo字段名字段类型字段长度字段含义IDVARCHAR20主键ORDER_SNVARCHAR50订单编号TRADE_NOVARCHAR50交易编号PAY_STATUSVARCHAR10支付状态POST_SCRIPTVARCHAR100订单留言ORER_MOUNTVARCHAR10订单金额PAY_TIMEDATETIME支付时间ADDRESSVARCHAR200收货地址SIGNER_NAMEVARCHAR20签收人SIGNER_MOBILEVARCHAR11联系电话ADD_TIMEDATETIME创建时间表3-12订单详情表orderdetail字段名字段类型字段长度字段含义IDVARCHAR20主键ORDER_IDVARCHAR20订单GOODS_IDVARCHAR20商品GOODS_NUMVARCHAR10商品数量3.4本章小结这一章主要进行的是对表的设计和分析,也是十分重要的一个环节,通过这一章节需要建立的表和字段已经十分的清晰,E-R图能使我们更加熟悉表与表之间的关系,而表字段设计则是立足于需求。第4章系统实现4.1系统主体设计4.1.1商品展示模块实现商品展示模块是用户登录后需要浏览的页面,包含首页,详情页,列表页,首页用于热门商品展示,详情页是展示关于商品的相关详细信息记录,列表页是展示分类展示所有商品的页面,并且可以按热度,新品,销量等排序,实现效果图如下所示:图4-1商城首页效果图详情页包含了商品的描述,商品的轮播图,商品单价,另外还有收藏和加入购物车的功能给用户,用户还可以选择适当的购买数量,其实现图如图4-2。图4-2商品详情页效果图4.1.2购物车模块实现购物车模块是寄存用户从详细页添加的商品,用户需要有登录后才有权限进入,当用户在商品详情页点击加入购物车后,购物车就会出现商品列表,包含了商品的各种信息,在购物车界面用户可以选择增加或减少要购买的商品数量,也可以选择下单。图4-3购物车效果图4.1.3登录注册模块实现(1)登录注册模块需要实现的效果是用户先通过填写注册表单进行注册,注册时通过填写手机号并接收验证码进行注册,注册完成后便会跳转到登录页面,登录则是通过手机号或用户名进行登录,如图为登录注册的效果图: 图4-4登录注册效果图(2)主要实现逻辑:1.登录主要需要实现的便是表单的验证,djangorestframwork的官方文档中有比较好的实现方案,具体是要重写authenticate方法,在这个方法里面主要做用户名和密码的判断,若是验证成功就返回用户,否则返回none。下面是登录部分相关代码:users->views.pyclassCustomBackend(ModelBackend):

"""

自定义用户验证

"""

defauthenticate(self,username=None,password=None,**kwargs):

try:

user=User.objects.get(Q(username=username)|Q(mobile=username))

ifuser.check_password(password):

returnuser

exceptExceptionase:

returnNone注册主要是实现手机发送验证码,发送验证码需要用到第三方服务,这里采用的是云片,它的短信服务收费较为合理,此处具体是写一个方法generate_code,它的作用是生成随机四位数字的验证码,云片通过你自定义的生成方式来发送验证码到目标手机,而云片的使用则是仿造云片官网的API文档来实现,下面是大致代码:users->views.pyclassCodeViewset(CreateModelMixin,viewsets.GenericViewSet):

"""

发送短信验证码

"""

serializer_class=CodeSerializer

defgenerate_code(self):

"""

生成四位数字的验证码

"""

seeds="1234567890"

random_str=[]

foriinrange(4):

random_str.append(choice(seeds))

return"".join(random_str)

defcreate(self,request,*args,**kwargs):

serializer=self.get_serializer(data=request.data)

serializer.is_valid(raise_exception=True)

mobile=serializer.validated_data["mobile"]

yun_pian=YunPian(APIKEY)

code=self.generate_code()

sms_status=yun_pian.send_sms(code=code,mobile=mobile)

ifsms_status["code"]!=0:

returnResponse({

"mobile":sms_status["msg"]

},status=status.HTTP_400_BAD_REQUEST)

else:

code_record=VerifyCode(code=code,mobile=mobile)

code_record.save()

returnResponse({

"mobile":mobile

},status=status.HTTP_201_CREATED)4.1.4后台管理模块实现(1)本系统中后台管理模块是一个整体,它包含了管理员登录,管理员对商品,订单,用户信息等的管理,这里把他作为一个整体来实现,而不是单独实现.管理员可以点击左侧菜单选择要更改的选项,便可以同数据库进行交互,进行数据的增删改查。 图4-5后台管理模块效果图(2)主要实现逻辑:后台管理主要是采开源集成插件xadmin完成,只需要少量的代码配置,就可以拥有一个功能齐全界面简洁美观的后台,而实现这主要需要几个步骤:在开源社区github上下载xadmin的相关包,然后将其移植到根目录中。在settings.py的INSTALLED_APPS中需要加入xadmin,如下代码:INSTALLED_APPS=[

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'users.apps.UsersConfig',

'DjangoUeditor',

'crispy_forms',

'django_filters',

'xadmin',#后台管理配置

'rest_framework',

'corsheaders',

'rest_framework.authtoken'

]3.在每一个功能块下都需要新建xadmin.py文件,用于初始化其应用相关的后台配置信息。4.1.5支付模块实现当下使用比较广泛的无非是支付宝还有微信,本系统采用的是支付宝接口汤金瓯,余世明.基于支付宝的自动售货机网上支付系统%Onlinepaymentsystemofvendingmachinebasedonalipay[J].机电工程,2010,027(005):124-126.进行支付,python实现这个接口的话需要用支付宝提供的SDK,在虚拟环境中通过pipinsatllalipay-sdk-python这条命令就可以安装,要实现支付宝支付首先要去支付宝开发者平台创建沙箱应用,这部分操作将让我们得到相应的APPID,支付宝网关还有密钥,密钥需要填写下载如图4-6密钥生成工具生成的公钥,填写后会生成支付宝公钥,生成支付宝公钥后将其保存至txt文件中待用,这些都是实现支付必不可少的要素,接下来还要写许多支付相关的逻辑,在开发阶段都是使用沙箱环境进行测试。支付成功后会自动跳转为预先设置好的页面汤金瓯,余世明.基于支付宝的自动售货机网上支付系统%Onlinepaymentsystemofvendingmachinebasedonalipay[J].机电工程,2010,027(005):124-126.图4-6密钥生成工具图4-7支付效果图图4-8支付成功跳转效果图4.2本章小结本章主要介绍了5个主要功能模块的实现效果图,并简单的附上了实现的具体逻辑和代码,通过这一章节,一个系统的雏形已经逐渐成熟。第5章系统测试5.1测试的目的及意义测试的目的不仅是为了发现软件缺陷与错误,而且是对软件质量进行度量和评估,以提高软件的质量胥家瑞.浅谈白盒测试和黑盒测试在软件测试中的作用[J].天津市财贸管理干部学院学报,2010(4):53-54.。测试是为了在前期以少量人力换取后期维护的效率,如果没有测试,错误累积起来,后续会带来难以预估的损失胥家瑞.浅谈白盒测试和黑盒测试在软件测试中的作用[J].天津市财贸管理干部学院学报,2010(4):53-54.测试一般来说有两种,其一为黑盒测试,其二为白盒测试,黑盒测试又叫功能测试,测试人员不需要考虑内部逻辑,仅仅测试其功能是否符合需求,白盒测试与黑盒测试相反,注重的使程序内部逻辑,本系统采用的测试方法为黑盒测试。5.2测试用例及测试结果5.2.1系统登录测试功能描述:用户通过注册后的账号密码进行登录,管理员不需要注册即可登录,默认账号为admin,密码为123456。用户输入用户名和密码,当输入的用户名或密码错误时会提示用户名或密码错误,若用户名不存在则会提示用户名不存在。系统的登录测试用例如表5-1所示。表5-1系统登录测试用例图序列测试目的测试输入测试结果测试说明用户名密码用户名为空(为空)admin用户名或密码不正确用户名为空报错密码为空admin(为空)用户名或密码不正确密码为空报错用户名密码都为空(为空)(为空)用户名或密码不正确用户名或密码错误错误的用户名admin1123456用户名不存在用户名不存在用户名、密码都正确输入admin123456跳转到首页登录成功5.2.2系统注册测试功能描述:用户需要通过注册来获得用户名和密码,注册的方式使手机号码注册,通过发送手机验证码,再填写验证码和密码来完成注册。手机号的格式必须为11位,验证码是随机的四个数字英文混合的组合,密码不能为空。系统注册测试的用例如表5-2所示。表5-2系统注册测试用例序列测试目的测试输入测试结果测试说明手机号验证码密码输入错误手机号137289

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论