APP下载

基于Python的校园交易平台设计

2022-10-11华厚强康佳春

现代计算机 2022年15期
关键词:交易平台网页页面

华厚强,康佳春

(中国民用航空飞行学院航空电子电气学院,广汉 618307)

0 引言

自发现新型冠状病毒感染病例以来,新冠病毒已发生多种变异,传播速度快,感染范围广,防控难度大。迄今为止,新冠肺炎疫情已在全球多点、多轮暴发并快速蔓延,令世界公共卫生安全面临极大挑战。近两年来,国内也发生了多波新冠疫情,党领导人民采取最全面、最严格、最彻底的防控举措,众志成城,抗击疫情成绩斐然。在新冠疫情的散发期间,根据疫情防控需要,诸多学校采取封闭式管理,确保学生在校园环境处于可控安全的前提下,正常进行教学。疫情严重时,学校采取线上教学的方式,毕业生甚至需要进行线上答辩和线上办理毕业离校手续,以减少不必要的外出和社交。

在因新冠疫情而采取的校园封闭式管理的情况下,很多学生尤其是无法返校的毕业生宿舍物品大量堆积。为了减少个人物品的堆积和不必要的浪费,急需设计一个校园交易平台,以便将在隔离在家、隔离在校的学生和校友联系起来,高效地交易闲置物品,互通有无。通过校园交易平台,学生可以高效地上传自己不需要的闲置物品,以学生会为中间人,保证物品完好无损,再统一发布到网上平台,通过商品界面来点对点地让学生在网上进行物品交易和买卖,从而解决了物品不必要的浪费。

本文基于Python语言、Django Web框架和MySQL数据库三个要素,设计出在局域网内本地服务器上的校园交易网站平台。

1 校园交易平台总体方案选择和设计

1.1 程序语言的选择

Java语言是一套规范性很强的设计语言,适合团队项目开发,在大型的软件工程项目上确实需要高度规范化,Java语言具有难以比拟的优势。但同时Java语言也有不足之处,遇到需要频繁变更程序的项目,大量的修补与更改容易破坏原本的架构,带来不必要的bug以及维修成本。使用Java制作的程序项目一般复杂度高,且需要高稳定度,Java大工作量的项目开发工序其实与个人小项目开发是不相符的。如果要做一个团队工作的项目,且完工后不再需要大量的修改,Java就是理想的编程语言。反之,如果以个人为开发单位,且项目需要频繁变更程序,要快速高效地开发,Java并不是明智的选择。

Python是一种面向对象的解释型、动态数据类型的高级程序设计语言,是在多种语言基础上开发而来,有“胶水语言”的别称,具有标准强大的数据库,具有可拓展、可嵌入等优势。由于具有较强的交互性和可读性,初学者也易于掌握Python语言。随着技术水平和计算机性能的不断提升,Python作为高级语言的响应短板在不断减小,而其因具有代码量小、易于变更的优势使快速开发软件不再成为挑战。

Python的Web开发由于Django框架的强大功能,重心其实更多放在对html文件和数据库的编程适配。只要求Web开发者实现一个函数,就可以响应HTTP请求。应用Python脚本语言在实现Web开发中会感到格外顺手和便捷。校园交易平台是一个需要频繁上下架物品和学生沟通的平台,程序和数据库的变更会比较频繁。因此,选用Python作为校园交易平台的设计语言是个合适的方案。

1.2 Web框架选择

主流的Web框架常使用Flask和Django这两个Web框架服务。Flask是用Python语言写成的轻量级Web框架,最显著的特点是“微”框架结构,轻便灵活、易于扩展。使用Flask框架时,可省略许多需要单独设置的步骤。例如,它没有开箱即用的数据层或ORM,也没有类似表单验证的规定。使用Django框架时,部署速度快,数据库以模型层来实现与实际数据库做数据的交换。Django是“大而全”的重量级Web框架,自带常用工具、组件和管理后台,适合快速开发功能完善的企业级网站。Django自带免费的数据SQLite,同时支持MySQL与PostgreSQL等诸多数据库。考虑到校园交易平台包含商品上架、评论、收藏和交易等功能,是一个较复杂的网站,综合考虑Django更适合校园交易平台这样的网站开发。

前端框架指用于简化网页设计的前端开发套件框架,如jquery、layui和bootstrap等。开发Web产品时,使用前端框架可以实现界面直观,易于操作。Django自带基础的前端框架模板,但Django前端界面比较简单,顶部、展示页面和底部三段式的布局无法用来进行复杂的操作和编写,使得界面更加美观。由于缺乏JavaScript的使用,它只能用来做基础的静态网页,没办法使网页生动起来。如果网页的编写重心在后端,并且前端使用静态网页面板就可以实现目的,那么使用Django自带的前端模版确实是一个省时省力的操作。相反,如果网页编程时重心在前端的网页美化和动态设计,那么Django提供的模版就远远不够。

第三方前端框架是目前的主流方向。随着鉴赏水平的提高,人们对前端网页的界面美观度要求越来越高。网页设计由原来的前后端不分离,变成了目前主流的前后端分离,前端工程师通过接口和数据库来修改前端的网页展示界面,方便后端工程师对数据库的处理和数据接口的对接。目前主流的前端框架通常采用bootstrap和layui,它们编译高效,可读性强,还可提供海量的教学案例和前端模版,开源免费,社区里新代码更新上传速度快。

本设计使用bootstrap中经典的Django模版来作为前端的框架,用layui模版作为后端管理平台的修饰,并在此基础上修改成自己的网页风格,在简洁美观的同时充分展现校园交易平台的基础功能。

1.3 数据库选择

计算机处理信息的过程中,经常需要保存或处理大量数据,这时就需要数据库来存储和管理这些数据。数据库可以通过特定的方法管理和调用存放在数据库里的数据,包含数据库管理系统的数据库管理软件,主要用来实现对数据的新增、查找、更新、删除等操作。数据库就像仓储物流一样,区别只是存放的东西不同。两种经典且主流的数据库是非关系数据库NoSQL和关系数据库MySQL。

使用NoSQL数据库时数据通常是存放在内存中,读取速度非常快,可以满足高响应的要求,是Java互联网系统的利器。NoSQL数据库的优势在于它是开源软件,可降低运营和维护成本。但它不支持SQL服务器,所以也不支持表单。MySQL数据库凭借安全性、高效性、对多语言的兼容性、紧密性而得到广大编程者的青睐。它体积小,维护运营数据库的成本相对低廉,但拥有多种数据库存储引擎,带有强大的内置函数。它具有开放源码的特点,方便数量庞大的中小型网站开发者选择使用MySQL数据库。用户可以直接在官方网站下载免费的数据库进行安装和部署,不必支付额外的费用。

NoSQL主要用于大型网站的数据管理,具有高响应、低延迟的特性,拥有优秀的可拓展性,适合专业程序员对数据库进行个性化编译和管理;而MySQL数据库不需要使用者对当前环境进行调配,即可应对各种平台和编写程序的考验。考虑到校园交易平台并不需要十分苛刻的高响应和低延迟特性,加上初学者对数据库的了解程度远没有达到自行编译管理的程度,本设计最终选择使用更具通用性和便利性的MySQL数据库。

1.4 系统总体方案设计

本设计基于Python的校园交易平台主要由校园交易平台管理和学生购买两部分组成。在校园交易平台管理部分,可由学校相关机构,比如学生会统一收集同学们需要交易的物品,估算价值,并统一由学校交易机构上传商品。校园交易平台管理系统包括前端展示页面、后台管理模块、商品上传、物品分类等必需模块。在学生购买部分,允许学生通过自己的邮箱账号注册和登陆校园交易平台,搜索并购买自己需要的商品,购买后进行评论,因此这部分的用户注册与登陆模块、商品搜索模块、下单模块和评论模块等都是必需模块。通过校园交易平台管理部分和学生购买部分的设计,使网站拥有前后端功能,可实现校园交易平台基本的网站电商功能。

2 校园交易平台具体设计

2.1 Django平台整体构建

一个完整的Django项目通常需要划分出很多不同的子模块进行设计,采用模块设计可以使得分工更加明确,提高平台设计的效率,减少报错时搜索修改关键代码的难度。建设Django项目首先需要搭建好基于Python的项目开发环境,同时使用自带Django框架易用性极高的PyCharm集成开发工具进行项目设计,可以便捷地管理整个项目。在创建项目之前,需要进行模块的分类。

2.2 用户注册和登陆模块

校园交易平台除了一开始展现首页外,第二个展现的就是用户的注册和登陆界面,因此平台的注册和登陆是整个平台的重要模块之一,是用户最先接触、体验的模块。制作出一个用户在视觉层面上看起来干净、操作项目清晰可辨的注册网页界面可以提升用户体验。注册和登陆模块的流程就是首先提供用户输入用户名、密码进行登陆这个功能。注册模块主要是引导用户填写注册会员的必要信息。登陆和注册的逻辑流程图如图1所示。

图1 登陆和注册逻辑流程图

2.3 商品模块

该模块主要用来显示网站界面,在校园交易平台,网站的首页直接就包含商品的展示。首页的商品将通过类似卡片样子的图片来展示给用户。数据库保存商品基本信息,如价格、图片和件数等。管理员登陆Django管理后台上传商品后,用户可以在首页的界面,通过商品的分类显示或者通过搜索栏搜索关键字的方式找到上传的商品。在商品详情页面,可以看到商品的库存和销量、二手商品的成色和价格等详细信息,用户可以直接将商品放入购物车,在该页面里完成订单的创立。

2.4 购物车模块

购物车模块是电商平台基础的展示页面之一,交易平台上的所有商品都可以通过加入购物车的方式进行统一支付,完成订单的建立。特别是对进行批量购买的用户,购物车模块对一次性操作多个商品的统一支付起着必不可少的作用。由于本平台是以校园为单位的商品交易平台,学生间的物品交易几乎不会出现批量交易物品的情况,因此后台管理平台上传商品时基本以一件物品为单位上传,并且不支持物品数量的修改,主要是考虑到二手物品单一物件的概率较高,不需要增加和删减物品的数量。此外在这个界面下用户可以选择继续购物或者继续结账的选项,方便用户根据自己需求进行选择,是人性化购物平台的体现。

2.5 支付模块

在购物车界面点击“继续结账”后,界面会跳转到支付界面,界面包含支付宝以及微信支付的二维码,方便同学使用手机扫码支付。因为是本地化校园交易平台,考虑到现金的安全性,所以用的是简易的二维码,仅起到展示的作用。但支付界面是交易平台中交易的重要一环。

2.6 订单模块

在校园交易平台上,订单模块是整个交易平台的交易核心模块,这个模块简单明了地展示用户订单下单的时间、消费记录和订单编号等信息。另外该模块还设置了评论功能,方便用户对该商品进行更加详细的评论,这些评论会展示在商品详情页面的下方,方便其他用户浏览,并决定是否购买。

2.7 用户详情模块

个人信息界面是校园交易平台上用户信息展示的地方,是整个平台较为重要的展示界面。用户通过该界面可以修改自己的地址,并在地址后面加上手机号码,方便商家在商品出现问题时可以及时和用户进行联系。另外在用户详情模块里可以看到用户的注册时间等信息。

2.8 Django搜索

Django ORM(对象关系映射)是Django自带的强大功能之一,使得用户能够通过Python代码而非SQL数据库进行交互。它有很多优点,比如在将sqlite数据库迁移到MySQL数据库时,Django会自动生成更新数据库所需要的脚本,不会出现由于迁移引发的程序问题。使用ORM进行商品的搜索操作很简便,可以简化搜索的流程,不需要引入第三方搜索引擎,比如haystack的使用。但由于是精确查找,搜索栏中的字符串必须在数据库的信息表中存在,搜索的精度要求比较高,不适用于大型的电商平台,但考虑到校园交易平台的规模较小,是在可接受范围内的。

3 校园交易平台测试效果

作为Django Web框架的核心,进行数据库原理学习和操作是进行校园交易平台创建的前提,先安装好DB browser for sqlite程序,然后进行Python的安装。通常有两种方式,①直接从官网下载安装Python搭建环境,并通过pip下载安装需要的包;②通过使用Anaconda安装搭建Python环境。通过Anaconda安装Python搭建环境的方式本身自带了集成开发环境(integrated development environment,IDE),但还是推荐再在Anaconda环境下安装PyCharm程序编译器,它适合进行Python语言的编程和设计,可选择安装免费的性价比较高的PyCharm社区版。基于Python语言、Django Web框架 和MySQL数据 库三个要素,设计出在局域网内本地服务器上的校园交易平台网站后,可对交易平台实现的功能进行测试。

3.1 测试方法

对本校园交易平台来说,目前还处于设计初级阶段,做的是前后端不分离、本地服务器下设计的本地网页平台,由于目前条件有限,缺少联网之后部署的服务器,以及联网之后进行支付宝公司接口对接完成支付的功能。因此,对校园交易平台的测试主要在于测验各项功能是否正常运行。由于网页的可视化性更加直观,因此将以前、后端网页的功能能否顺利实现作为主要的测试项目。

3.2 测试过程和结论

首先测试在PyCharm中能否将Django程序和MySQL服务器建立链接,在PyCharm中的终端输入python manage.py runserver运行代码后,出现IP地址http://127.0.0.1:8000/,这是本地服务器的默认地址,说明本地数据库和程序链接良好。

点击http://127.0.0.1:8000/,进入默认以Chrome浏览器打开的校园交易平台,如果是第一次登录就会直接进入注册页面进行注册。注册功能如图2所示。

图2 注册功能

在注册页面按照规定完成注册,或直接登录后就进入校园交易平台首页。该页面包含有商品展示、分类和首页展示,首页展示页面如图3所示。

图3 首页展示

在首页可以对商品进行选择和购买,也可以按照类别进行寻找,点击类别里的类别项,可以找到该类别里的所有物品。类别功能如图4所示。

图4 类别功能

在任何页面下,点击左上角的圆形红色图标,都可以回到首页界面继续浏览,也可以通过搜索特定的商品来直接展示该商品。搜索功能如图5所示。

图5 搜索功能

选择好需要的商品后,点击商品可以显示商品详情页面,用户可以对商品的成色、质量和价格等进行细心选择,在该页面可以把商品放入购物车中。商品详情页面如图6所示。

图6 商品详情页面

用户选购完所需商品后,在购物车页面可以进行最终的付款操作。在任何界面时,点击网页右上角的购物车图标,都可以进入购物车页面。购物车页面如图7所示。

图7 购物车页面

在购物车页面可以浏览和比较商品,对不想要的商品可以通过点商品左边的叉号去除该商品,总价格会重新计算。确认信息无误后,就可以准确填写地址和联系方式,进行下单操作。然后界面会在用户点击继续结账后跳转到支付界面,使用手机进行扫码支付。扫码支付界面如图8所示。

图8 扫码支付界面

下单操作后会显示操作完成,之后用户可以通过点击右上角的人像图标进入订单管理,里面会有订单记录信息,可以在订单详情下面进行评论。订单详情页面如图9所示。

图9 订单详情页面

至此,用户界面的体验模块和基本功能就算全部完成,接下来测试的是商家后台管理系统界面。在PyCharm下输入python manange.py createsuperuser创建后台管理系统账号,在首页的右上角点击头像图标可进入后台管理页面,输入密码后,就可以登录后台管理系统。登录页面如图10所示。

图10 Django后台登陆页面

进入后台管理登录页面后,可以看到在Django下编辑的七个大类的表,在页面中以可视化的方式进行显示。这七个大类的表单连接着数据库里对应的七个表,可以方便地进行操作。Django后台管理页面如图11所示。

图11 后台管理界面

至此,所有的平台功能均已测试完毕。前端的功能包括本地服务器功能、注册功能、用户登录功能、搜索功能、商品详情页面、购物车购买功能、订单详情功能和评论功能等,经过测试,验证了设计的校园交易平台可以实现以上应具有的各项功能。另外,在后端管理平台的账号创建和登录功能,后台管理界面七个表的增、删、改、查功能和商品在前端网页的上传、展示功能等全部均可以实现。

因此,通过对前端网页功能和后端平台管理功能的测试和验证,可以看出本校园交易平台各项功能运行良好,可涵盖基础电商平台所应具备的基本功能。经过整体测试,系统反应速度良好,无明显延迟,可操作性强,具有良好的用户体验。

4 结语

基于Python语言、Django Web框架和MySQL数据库,设计出在局域网内本地服务器上的校园交易平台网站。完成校园交易平台的前端设计和功能实现,采用前后端不分离的方式进行编写和设计,对其中的SQLite数据库和Django自带的前端网页模版进行基于现实需求的二次修改,实现以校园环境为商业范围、学校商品管理部为商家、学生为用户的校园B2C电商系统功能。该校园交易平台功能完善、界面简洁、可操作性强,具有一定的实际应用价值。校园交易平台在后期可以进一步完善,需要改进和优化的地方具体为:①可以加入网络服务器的部署,使得整个校园交易平台可以在不同地方联网的手机和电脑等终端上显示;②由于资金所限,目前只能演示扫码支付功能,无法和微信、支付宝等在线支付接口形成对接,后续改进需要建立完整的在线支付功能,使校园交易平台的支付更便捷。校园交易平台的设计与实现需要不断地完善、改进和优化,以求达到更好的实际效果。

猜你喜欢

交易平台网页页面
甘肃省体育产业资源交易平台建设的推进路径
健全监管机制规范互联网交易平台发展
答案
让Word同时拥有横向页和纵向页
基于HTML5静态网页设计
搜索引擎怎样对网页排序
驱动器页面文件大小的总数为何总是07
网页智能搜索数据挖掘的主要任务