摘 要
随着互联网的发展,中国旅游行业的电子商务也日益发展迅速,而对于很多的县区级的政府,建立属于自己的旅游网站,能够加快县区级政府的旅游资源的开发和推广,带来更好的经济效益同时还可以对当地旅游业的质量快速提升带来很好的益处。因此我们开发设计了从化特色小镇旅游网站。
本网站采用B/S架构,基于Python语言和Django框架作为开发主体,同时结合Bootstrap框架、Toast提示框框架以及结合Ajax技术、JS语言、CSS语言进行界面的实现。
关键词:电子商务,旅游资源,景区管理,B/S架构
ABSTRACT
With the development of the Internet, China’s tourism industry and the rapid development of electronic commerce is increasingly, and for many county district government, set up their own travel sites, to speed up the development of county district government tourism resources and the promotion, bring better economic benefits at the same time can also to rapidly promote the quality of local tourism bring good benefits. Therefore, we developed and designed conghua characteristic town tourism website.
This website adopts B/S architecture, based on Python language and Django framework as the development main body, and combines Bootstrap framework, Toast prompt frame and Ajax technology, JS language, CSS language to realize the interface.
Key words: Electronic Commerce, Tourism resources,Scenic spot management,B / S architecture
目 录
摘 要 I
ABSTRACT II
目 录 III
第1章 绪论 1
1.1课题研究背景 1
1.2课题研究意义 2
1.3课题研究内容 2
1.4 本章小结 3
第2章 开发工具及相关开发技术、语言 4
2.1开发工具 4
2.2数据库选型 4
2.3相关技术 4
2.3.1Django框架 4
2.3.2Ajax技术 5
2.4开发语言 5
2.4.1HTML语言 5
2.4.2JAVAACRIPT语言 5
2.4.3Python语言 5
2.4.4CSS语言 6
2.5本章小结 6
第3章 需求分析 7
3.1可行性分析 7
3.1.1技术可行性 7
3.1.2经济可行性 7
3.1.3操作可行性 7
3.2功能需求分析 7
3.2.1注册、登录功能 7
3.2.2景区查看及维护功能 8
3.2.3游记阅览及维护功能 8
3.2.4旅游活动查看及维护功能 8
3.2.5旅游商品查看及维护功能 8
3.2.6个人中心功能 8
3.3开发所需硬件分析 8
3.4性能需求分析 8
3.4.1系统稳定性分析 9
3.4.2系统可扩展性分析 9
3.4.3系统安全性分析 9
3.6本章小结 9
第4章 系统总体设计 10
4.1系统框架设计 10
4.2系统功能设计 10
4.2.1注册登录功能模块设计 11
4.2.2前后端信息维护功能模块设计 12
4.3 数据库设计 12
4.3.1 数据库E-R图设计 12
4.3.2 表结构设计 13
4.4本章小结 15
第5章 系统详细实现 16
5.1 注册、登录功能实现 16
5.2 景区信息前后端功能实现 17
5.3 游记信息前后端功能实现 20
5.4 旅游活动前后端功能实现 23
5.5 旅游商品前后端功能实现 25
5.6 个人中心功能实现 28
5.7 商品购买功能实现 30
第6章 系统测试 34
6.1测试意义 34
6.2功能测试 34
6.2小结 35
第7章 总结 36
致 谢 37
参考文献 38
附 录 39
第1章 绪论
1.1课题研究背景
旅游业的经济在我国产业结构当中占比很大一部分。中国旅游业在2018年实现了6.0万亿元,对我国GDP的整体贡献率为9.9万亿元, GDP占我国11.0%,全国游客总数为55.4亿。因此,还需要在未来的发展中,对旅游的发展做出更大的贡献。
发展旅游能够适应人民对物质和精神生活的需要。旅行能让人的身体和精神放松,增强身体素质,拓宽视野,增加知识,推动社会生产力的发展。旅游开发的规模很小,它的发展取决于整体的经济发展,如商业,餐饮,酒店,民航,铁路,公路,邮电,日用轻工业,工艺美术,园林等行业的发展具有重要的推动作用。改善了我们的工作品质。在我国经济发展过程中,旅游产业的作用日益突出。随着很多本地人都在做观光或其他相关行业,他们的个人和家庭的经济状况都有了明显的提高。人民的生存状况和居住环境都在逐步提高。数以千计的旅游者来访,以及居民的多次徒步旅行,扩大了地理、文史、民俗等方面的认识,并改善了人们的生存需求。旅游发展对城市的整体素质和文化水平有很大的影响。发展旅游,既能适应人们的文化需要,又能促进民族文化的传承,提高民族文化的质量。在“互联网+”的新时期,农村休闲农业与乡村旅游发展的新契机与新的挑战。发展观光旅游,促进产业结构调整,扩大农民就业,增加农民收入,建设美丽乡村,推进城乡一体化建设,增加旅游商品供给。
目前国内的商用旅游类网站数量较多,且经过多年的运营,成熟度已经很高,当然也存在部分网站的应用效果不好,乡村旅游O2O要做的就是把自己的网络平台和 PC端 APP整合起来,然后通过微博、微信等社交平台进行营销,从而实现真正的在线运营。通过对农村地区的线下旅游进行整合,将其转换成资料,并在一定程度上实现了对农村旅游的整体规划。要想真正的抢占农村旅游的市场,必须要把网上和外面的两个职能结合起来。当前,我国农村地区已经涌现了几个O2O的农村旅游服务平台,但均未形成“线上与线下”协同发展的局面。比方说,给图网络建设了一个与去哪儿差不多的网络,但是在线下的资源集成上还不够成熟。要把网络融入农村旅游,既要保证软环境,又要保证网络与乡村旅游的结合。要尽快完善农村智能旅游的基本条件、完善的网络、交通等硬件配套。要根据农村的实际情况,将农村的各类地理、人力资源等信息综合起来,构建农村智能交通基础设施,引入网络技术人员,为农村旅游发展提供技术支撑。
1.2课题研究意义
农村旅游是近几年发展起来的一项主要内容,农村地区的旅游人口已经达到了全国总人口的1/3,农村的内涵也得到了重新认识和界定。但从整体上看,乡村旅游仍然受到基础环境、乡村经济和农村配套等诸多客观条件的制约,乡村农家乐、采摘园等乡村观光已经成为一种“美学”。农村旅游特别是要突破常规,通过现代化的发展来增强吸引力,用智能营销、管理、服务等手段来提高管理的现代化。
中国广大的乡村地区一度被网络所遗忘的一角,但也是潜力最大、前景最广阔的一个。当农村最先使用网络的时候,农村的旅游业就会在网络时代的到来中脱颖而出。在网络由旅游者向渠道和目的地迅速渗透的情况下,农村地区最先采用网络思维,农村地区在农村地区率先进入网络,农村地区在农村地区率先进入网络,农村地区就有机会成为特色。
目前从化市并没有单独属于自己的旅游类网站,对于一些县区级别的政府想通过知名度高的旅游网站进行推广,需要持续花费较高的推广费用,而且引流效果不一定很好。
对于从化本地人向别人介绍自己的景点信息的时候,需要借助多种平台上的不同的旅游信息进行单独的汇总,这对于推广从化本地的旅游信息带来非常大的阻碍。
本次设计实现的从化特色小镇旅游网站,在设计思想上大力拥抱国家十三五、十四五提出的振兴乡村旅游战略,通过本系统的上线应用,能够将从化特色旅游小镇的旅游信息进行聚焦推广,为发展本地旅游业和居民经济收入带来更好的平台。
1.3课题研究内容
本课题所设计和实现的从化特色小镇旅游网站,经过可行性的反复论证的同时与进行实际商业使用的需求所结合,本论文的研究内容和组织结构可分为如下几点:
第一章节:绪论。通过对旅游类网站系统在实际应用上的优势以及国内外发展的对比分析,总结出本课题的应用优势和应用效果预期。
第二章节:开发环境及开发技术介绍:对本次实现的系统使用的相关开发技术和编码环境进行概要性介绍。
第三章节:需求分析。以绪论处所提出的课题应用优势和可行性进行扩展分析,本文对该课题的功能要求、性能要求以及数据库需求进行了详尽的描述,并对系统的总体设计进行了总结。
第四章节:本课程的开发和实现。本系统的设计是以需求分析为基础,对其进行了功能架构的说明;系统实现过程根据自顶向下的系统设计进行。
第五章节:系统测试。从系统使用入口到系统菜单栏最后功能开始,对系统的功能、性能、数据准确度等进行完整的测试。
1.4 本章小结
在这一章中,作者对青花香乡的研究背景、国内外的研究状况进行了调研,并说明了该项目的市场和在我国的实际意义。并根据目前的国内外形势,对该项目的研究和推广进行了较为详细的探讨。文章的结尾部分根据本文的研究对象及组织架构,对本文的后续报道进行了详细的阐述。
第2章 开发工具及相关开发技术、语言
2.1开发工具
Pycharm是著名的JetBrains公司的产品,该产品非常专注的面向Python语言的开发集成工作环境,该产品目前的市场占有量已经稳居第一。Pycharm在开发人员的代码编辑、快速提示等方面具备非常强大的功能。在Python虚拟环境的管理上,可以非常方面的通过配置进行区别管理,避免了多个项目情况下Python环境和版本不同造成的运行错乱的情况。此外,Pycharm提供了多种数据库的快速链接管理方连接除此之外,Pycharm具备不同类型代码着色区分[2]、代码跳转、代码自动生成、代码Git版本控制等内容。
2.2数据库选型
在数据库选型上,考虑到经济成本和运维管理的便捷性,决定采用MySQL数据库,为更好地对Django框架的支持,决定采用MySQL8.0和Django2.2.1版本。
Mysql作为一种自由开放的关系数据库,在实践中得到了广泛的应用。该系统能够有效地对数据库中的数据进行有效的组织与管理,并且执行速度快,重量轻。Mysql是一款多线程 SQL的真实应用。关联数据库的最大特征在于,不把数据集中到一个公共的存储器中,而只把各个资料库分别存放在不同的资料库中,这样可以加快存取的速率。目前针对mysql数据库已经有MysqlWorkbench、Navicat等著名的管理软件,可以在建表过程中可视化的管理数据的一对一、一对多、多对多、自增、可选、不可为空等逻辑关系,提高了开发人员的开发效率同时加强了数据库的验证安全水平。
2.3相关技术
2.3.1Django框架
Django框架是各类语言中非常“友好”的开源式Web开发框架,它基于Python语言,同时非常轻量化,该框架的设计理念是:将开发者所创建的Web应用中的所有通用功能全部集成到Django框架中[9],而不像如Java语言的Spring框架一样,将通用功能集成到了相关的包中,因此该框架具备非常优良的可配置性、复用性、反复插拔性。Django特性是“MTV”架构,它将“MVC”架构进一步集成并分解为Django视图和Django模板两个部分,这两个部分决定了Web应用界面显示和显示哪些动态数据的作用。
Django最早是为开发一个新闻网站而创建的,但是目前作为火狐、NASA、openstack等知名网站的底层开发框架,由此可见其在CMS管理软件上的优势,同时其自带快速与数据库进行联动的后台管理系统,能够实时进行可视化的管理
2.3.2Ajax技术
Ajax技术被大量应用于网站开发中,其优点是局部刷新[6],即不需要完全刷新网页的情况下,就可以对当前网站中的部分模块,如:Table表格、Echarts折线图等内容进行局部刷新,做到数据的实时传递和实时更新,让用户的体验度更好。
2.4开发语言
2.4.1HTML语言
HTML是一种超文本标记语言,它的本质是一种标记类型的语言,一个完整的HTML是由多类标签所组成的,其目的就是为了网页的制作。
超文本的含义是不仅仅是文本类型,还可以是图片、链接、视频、声音等多类型。
2.4.2JAVAACRIPT语言
JavaScript(以下简称“JS”)语言是一种脚本类语言[11],具备的特点是直译型、高级、解释型[11]。支持多种类型的变成:面向对象型、面向函数型、命令式编程。应用最广泛的是在Web端,能够为静态类型的网页通过其配合Form表单、AJAX请求技术轻量化的发送网络请求,并且在获取返回的数据的解析上也具有非常高效的作用,最终为用户带来网页渲染上的流畅、美观。
2.4.3Python语言
Python的语法简洁、对新手友好,并且是面向对象的弱脚本类型的解释型语言,在其诞生之初,由于计算机的性能并不高,因此Python的使用人数非常少,但是随着计算机硬件在多年来的飞速发展,计算机性能不断提升,使得牺牲很小的执行效率来换取简单易维护的代码是值的[10]。尤其在随着机器学习、人工智能领域的火热,Python语言从“名不见经传”到开发语言热度不断飙升,已经广为人知。此外,由于其语法简洁、开源且维护性强,到目前已经拥有非常丰富的资源库,在数据处理、搜索引擎甚至是游戏开发等领域占据重要角色。
2.4.4CSS语言
CSS是用来表示 HTML文档表现形式的一种电脑程序,它能够独立地进行结构与内容的设计。在对 CSS进行前端技术与体系的深入探讨后, CSS不再局限于静止,而是能够与各种文字结合,实现页面的动态格式。
2.5本章小结
本章节简洁准确的论述了本次开发的基于Python的从化特色旅游小镇网站所采用的开发语言、开发技术、开发环境等内容。在进行编程的过程中,选择合适的开发语言和利用合适的开发工具对提升开发效率、减少出错率是非常有必要的,而本次选择的dajngo框架、mysql数据库都是已经在市场上得到了多年的验证,其稳定性和用户可信度非常高。
第3章 需求分析
3.1可行性分析
3.1.1技术可行性
本次设计开发的基于Python的从化特色小镇旅游网站采用的是在学校和在课程之外自学的Python语言,采用的html和css和成熟的ajax等技术,这些技术都已经被熟练掌握,因此在开发以及技术实现上是可行的。
3.1.2经济可行性
经济可行性分为系统开发时候的经济是否可行以及开发之后的维护是否可行,具体分析如下:
1)本系统在开发的过程中采用的编程语言、编程编译工具均为开源,不需要额外的花费,且主要是个人的笔记本电脑,并不产生其余的经济支出,因此在开发阶段的经济可行性是没问题的。
2)系统维护的经济可行性:本系统在通过开发背景的调研之后,就认为具备一定的商用价值,后期可以通过租用学生云端的方式投入到市面上使用,并且学生云价格更低,可以承受,在运行一段时间之后,可以通过划分小的广告位的方式来抵充云端机器的费用,因此在系统维护阶段的可行性是没问题的。
3.1.3操作可行性
本次设计开发的基于Python的从化特色小镇旅游网站采用界面简洁、风格简约大气,尤其是目前大家都已经对智能手机的很多APP的使用,对于基本的网页菜单的认知是已经熟练的,本系统由于界面菜单非常明显,非常易于用户的操作,因此在操作可行性上是没问题的。
3.2功能需求分析
3.2.1注册、登录功能
用户功能模块应具备用户注册、用户登录、个人中心、退出登录四个子功能模块。
用户注册和用户登录应保证强用户类型,密码采用MD5加密,保证后台数据人工无法直译,加强对个人用户的数据防护。
用户个人中心能够展示用户名,能够实现让用户在忘记密码或者需要修改密码时候的密码更新功能(可选填)。
使用者退出或再次登陆时,不会储存使用者的使用者名称及口令,所以使用者资料不会有任何混乱。
3.2.2景区查看及维护功能
后端支持对景区信息的维护(增、删、改、查),结果实时在用户端界面查看。
3.2.3游记阅览及维护功能
对于平台注册的用户,能够在登录系统之后,进行游记的查看和个人游记的编辑、存草稿、发布。
3.2.4旅游活动查看及维护功能
后端支持对旅游活动类信息的维护(增、删、改、查),结果实时在用户端界面查看。
3.2.5旅游商品查看及维护功能
后端支持对旅游商品类信息的维护(增、删、改、查),结果实时在用户端界面查看。
3.2.6个人中心功能
分为普通用户和管理员用户,普通用户能够进行注册、登录、每日签到、旅游商品和旅游订单的下单功能。
3.3开发所需硬件分析
操作系统:Windows、Linux均可,Python语言具有良好的跨平台性。
开发硬件要求:i5及以上/1920*1080以上分辨率/8G及以上内存/硬盘500G及以上。
3.4性能需求分析
为了让本次设计开发的基于Python的从化特色小镇旅游网站能够更加稳健的运转,在性能方面进行了系统整体稳定性、可扩展性、开放性、操作友好性方面的分析。
3.4.1系统稳定性分析
系统运行的稳定性决定了系统是否能够投入真正的商业使用,本系统设计采用Python语言的Django框架,该框架最早就是用于商业类型的新闻网站开发设计,并且已经被火狐、NASA等众多大型企业、机构所应用,因此系统稳定性方面是没问题的。
3.4.2系统可扩展性分析
系统的可扩展性在一定程度上反映了系统的“生命力”,本系统的可扩展性基于本系统的功能可扩展性:系统采用Django框架开发,后期如果在完善具体功能添加的时候,可以通过在框架内新建APP的方式来完成系统的功能添加,并且每一个独立的APP都具有数据库表的单独定义,不会造成对现有系统模块的冲突。
综上,本系统在可扩展性上是可行的。
3.4.3系统安全性分析
本次开发设计的基于Python的从化特色小镇旅游网站采用mysql和Django框架,同时使用了Ajax技术的POST和GET方法的请求,Django框架在CSRF的漏洞攻击上自带了拦截机制。而用户登录和注册以及操作过程中,也是采用了MD5+盐的方式进行高端加密,因此在安全性上是可以保证的。
3.6本章小结
本章节通过经济、技术、操作和开发实现四个角度的可行性进行了简单清晰的论述分析,而根据软件工程的相关理论,对这几个维度的分析也是确定系统可以真正实现应用的前提,可以肯定的是:本次设计实现的从化特色小镇旅游网站在程序开发和系统应用上都是可行的。
第4章 系统总体设计
4.1系统框架设计
目前在PC端运行的界面化系统从便捷性、网络应用、安全性上分为B/S端架构和C/S端架构。而本课题所研究设计的从化特色小镇旅游网站为了满足多端、多用户、系统升级快捷的情况,决定应用B/S端。B/S端的架构的优异之处是启动快捷、运行之后的高而且稳定性强,尤其是在浏览器中每次访问都要请求后台的情况,可以实现让用户没有感觉的升级体验,在打开 cookie时,可以加快下载的进程。C/S的静态数据可以在本机上直接进行,不过装载更加的平稳,但跨操作系统的跨平台版本存在很多问题,尤其对后期的系统更新非常不利。因为网络技术的一致性,使得 B/S体系结构可以在服务端上进行。一旦服务或程序上线,使用者就可以通过浏览器链接查看全部的信息,而且最关键的是,系统的在线更新变得更方便快捷,无需卸载、安装等繁琐的工作流程。B/S的三层模式结构图如图4-1所示:
图4-1 系统总体网络模式架构图
4.2系统功能设计
本次设计实现的从化特色小镇旅游网站分为管理员和普通用户两类角色,各角色下又细分为多个子模块,具体内容如下图4-3所示:
图4-2 系统功能架构图
4.2.1注册登录功能模块设计
当用户访问系统启动后的链接,页面默认加载的是登录页,对于已注册用户,在现有的系统中,输入使用者名称及口令,然后按下「登陆」键,即可在背景资料库内进行身份认证,如果验证通过,系统自动转入系统主页,如果验证失败,页面不跳转,当前登录界面会自动刷新,提示用户重新输入相关信息。
在管理帐号方面,系统管理员帐号登录项目与一般使用者有差异,但是使用者的授权控制系统却是一样的。
图4-3 系统注册登录流程设计
4.2.2前后端信息维护功能模块设计
景区信息的维护和发布、旅游活动及商品信息的发布和维护展示,在技术流程上一致,系统设计实现业务流程图如下图4-4所示:
图4-4 系统主要技术功能业务实现流程设计
在系统的前端采用 HTML和 CSS,在 JS之外,通过Django的模板进行前、后两个终端的数据的互动。
4.3 数据库设计
4.3.1 数据库E-R图设计
图4-4 数据库E-R图及表字段
4.3.2 表结构设计
Diary(游记信息表)结构:
表4-1 Diary表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 10 NOT NULL 用户编号,主键
2 title varchar 20 NULL 题目
3 content text NULL 内容
4 image varchar 255 NULL 封面图
5 checknum varchar 255 NULL 查看数
6 praisenum date 6 NULL 点赞数
7 commentsnum varchar 255 NULL 评论数
8 collectnum varchar 255 NULL 收藏数
9 is_published varchar 255 NULL 是否发表
10 add_times Datetime 6 NOT NULL 添加时间
News(新闻信息表)结构:
表4-2 News表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 title varchar 20 NULL 标题
2 content varchar NULL 内容
3 image Image NULL 封面图
4 checknum int 255 NULL 查看数
5 classification int 255 NULL 类型
6 add_times Datetime 6 NOT NULL 添加时间
UserCollect(游记收藏信息表)结构:
表4-3 UserCollect表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NULL 用户
2 diary varchar 255 NULL 游记
3 add_times Datetime 6 NOT NULL 添加时间
UserFav(游记点赞信息表)结构:
表4-4 UserFav表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NULL 用户
2 diary varchar 255 NULL 游记
3 add_times Datetime 6 NOT NULL 点赞时间
DiaryComments(游记评论信息表)结构:
表4-5 DiaryComments表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NULL 用户
2 diary varchar 255 NULL 游记
3 add_times Datetime 6 NOT NULL 评论时间
SpotsComments(景区评论信息表)结构:
表4-6 SpotsComments表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NOT NULL 用户
2 Spots varchar 255 NOT NULL 景区
3 comments varchar 255 NULL 评论内容
4 add_times Datetime 6 NOT NULL 评论时间
ShoppingCart(购物车信息表)结构:
表4-7 ShoppingCart表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NOT NULL 用户
2 product varchar 255 NOT NULL 商品
3 num Int 255 NULL 商品数量
4 is_check Boolen NULL 是否选中
5 add_times Datetime 6 NOT NULL 添加时间
ShoppingCart(购买商品信息表)结构:
表4-8 ShoppingCart表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NOT NULL 用户
2 product varchar 255 NOT NULL 商品
3 num Int 255 NULL 商品数量
4 add_times Datetime 6 NOT NULL 添加时间
ProductComments(商品评论信息表)结构:
表4-9 ProductComments表
序号 字段名 数据类型 长度 允许
空值 字段语义说明(作用、主
键、索引及约束名称等)
1 user varchar 20 NOT NULL 下单用户
2 product varchar 255 NOT NULL 商品
3 order_num varchar 255 NULL 订单号
4 comments varchar 255 NULL 评论内容
5 add_times Datetime 6 NOT NULL 添加时间
4.4本章小结
本章节通过框架,功能实现,功能维护等几个设计表达了此网站的重要组成架构。运用了HTML、CSS语言,在前后端数据交互上,除了使用JS语言外,还利用了Django框架的模板语言。当服务或应用启动之后,用户只需要浏览器连接即可浏览所有的内容,更加重要的是系统的在线升级更为简单便捷,不需要卸载、安装等繁琐的操作步骤。
第5章 系统详细实现
5.1 注册、登录功能实现
管理员端登录:管理员单独使用一套独立的后台管理子系统,用户名和密码可以由Django框架自带的命令进行生成,后期可以由具有一些编程经验的人进行管理,实现界面如下图5-1所示:
图5-1 管理员注册
普通用户登录:通过首页提供的登录按钮进入该部分的登录界面,普通用户的账户可以通过注册实现,实现界面如下图5-2所示:
图5-2 普通用户登录
用户登录的主要后端实现功能代码如下所示:
图5-3 用户登录后端主要代码
5.2 景区信息前后端功能实现
后端支持对景区信息的维护(增、删、改、查),结果实时在用户端界面查看,实现效果如下图所示:
图5-4 管理员维护景区信息
景区信息作为后台管理端,主要使用了Xadmin后端管理框架进行,主要实现代码如下所示:
图5-5 Xadmin景区管理端主要代码
图5-6 普通用户查看景区信息
用户查看管理员所审核发布的景点信息,主要涉及到前端界面的渲染以及后端的数据处理,前后端实现代码分别如下所示:
图5-7 景区界面前端模板语言实现
图5-8 景区详情后端查询主要代码
5.3 游记信息前后端功能实现
对于平台注册的用户,能够在登录系统之后,进行游记的查看和个人游记的编辑、存草稿、发布。实现效果如下图所示:
图5-9 普通用户发布、编辑游记功能
游记的发布以及游记信息的查看,主要实现代码如下所示:
图5-10 普通用户查看发表游记代码实现
图5-11 普通用户发布、编辑游记功能实现2
图5-12 普通用户发布、编辑游记功能实现3
图5-13 用户发布、编辑游记功能
游记信息的发布使用了富文本框集成的方式实现,主要实现代码如下所示:
图5-14 游记提交功能代码实现
5.4 旅游活动前后端功能实现
后端支持对旅游活动类信息的维护(增、删、改、查),结果实时在用户端界面查看。实现效果如下图5-6、5-7所示:
图5-15 理员编辑旅游活动界面
管理员对旅游活动信息的编辑和发布,主要实现代码如下所示:
图5-16 旅游活动详情管理
图5-17 注册用户查看旅游活动界面
用户查看旅游活动界面,在前端主要通过Django模板语言的循环完成,该部分的代码如下所示:
图5-18 旅游活动查看-前端代码
5.5 旅游商品前后端功能实现
后端支持对旅游商品类信息的维护(增、删、改、查),结果实时在用户端界面查看。实现效果如下图所示:
图5-19 管理员编辑旅游商品界面实现
管理员对旅游商品信息的编辑和发布,主要实现代码如下所示:
图5-20 管理员编辑旅游商品代码实现
通过对销量前五的商品作为主推荐设置,实现代码如下所示:
图5-20 旅游商品产品详情更改代码实现
图5-21 注册用户查看旅游商品界面实现
用户在前端对商品的查看,主要的后端及前端实现代码如下所示:
图5-22 注册用户查看旅游商品代码实现
5.6 个人中心功能实现
注册用户,可以查看自己浏览过的景点、参与的旅游活动、下单的旅游商品以及一览自己发布的游记信息,界面设计风格清爽。实现效果如下图5-10所示:
图5-22 注册用户个人中心界面实现
用户在个人中心,能够查看个人的信息、修改个人的密码、查看个人收藏、查看评论数量等等,实现代码如下所示:
图5-23 个人中心界面加载主要后端代码1
图5-24 个人中心界面加载主要后端代码2
5.7 商品购买功能实现
旅游商品购买整体流程从商品的添加开始,到普通用户端用户查看商品的信息,到添加购物车、最后再购物车进行结算,结算过程,调用支付宝的沙箱测试接口。用户添加商品到购物车的界面功能实现效果以及前后端主要实现代码如下所示:
图5-25 购物车添加界面实现1
图5-26 购物车添加界面实现2
商品添加入购物车的功能代码如下所示:
图5-27 购物车增删界面实现代码1
用户在购物车中可以选择增加商品的数量、减少数量、或者相对应的取消等,后端主要实现代码如下所示:
图5-28 购物车增删界面实现代码2
点击确认订单的时候,会提示用户支付选择的方式(为更好地模拟目前商用网站的支付方式,在开发过程中对接的支付宝的沙箱支付测试接口),实现效果如下所示:
图5-29 支付宝支付
图5-30 支付宝支付接口调用
对于新注册的用户,在结算时候需填写“收货人信息”,才可以正常进行结算,实现效果如下所示:
图5-31 收件人/联系人地址维护界面
系统支持添加10条收货地址,主要实现代码如下所示:
图5-32 收件人/联系人地址维护主要代码
第6章 系统测试
6.1测试意义
在应用程序之前,软件系统的试验是最关键的一步,它需要对系统的要求进行严格的规范[8]。系统试验还包括从上到下对整个产品进行的检验,以检验某个函数是否能够充分地满足要求,以及发现哪些特性与要求不符。软件测试要求严密的逻辑思维和对试验案例的设计以及相关硬件、外围设备和相关界面的支持[15],而且还必须与现实的应用情况相联系。
6.2功能测试
本次设计实现的从化特色小镇旅游网站,在部署成功之后需要相关的软硬件的支持,具体信息如下所示:
测试硬件环境配置:i5处理器/8G内存/512G存储/独立显卡/网络设备
测试软件环境要求:Windows /MySQL/Pycharm/Python。
表6-1 测试用例表
测试编号 所测功能 测试方法 预计结果 测试结果
1-1 注册功能 黑盒功能性测试 注册执行成功,且界面提示注册成功信息 通过
1-1 注册功能 黑盒功能性测试 注册执行失败,且界面提示注册失败具体情况 通过
2-1 登录功能 黑盒功能性测试 用户登录名和密码输入正确,点击登录功能后可以直接跳转到主页 通过
2-2 登录功能 黑盒功能性测试 用户的用户账号或者是密码中,有一个不正确,则不能跳转到系统主页 通过
3-1 管理员登录 黑盒功能性测试 用户登录名和密码输入正确,点击登录功能后可以直接跳转到主页 通过
3-2 管理员登录 黑盒功能性测试 用户的用户账号或者是密码中,有一个不正确,则不能跳转到系统主页 通过
4-1 旅游景点增加模块 黑盒功能性测试 增加一个之前不存在的相关信息,并点击提交按钮,显示提交成功。 通过
4-2 旅游景点增加功能 黑盒功能性测试 增加一个已经存在的相关信息,并点击提交按钮,显示提交失败 通过
4-3 旅游景点修改模块 黑盒功能性测试 修改一个相关信息,并且修改目前已经存在,并点击提交按钮。 通过
4-4 旅游景点删除 黑盒功能性测试 删除一个相关信息,并点击提交按钮。 通过
5-1 旅游商品增加功能 黑盒功能性测试 增加一个之前不存在的相关信息,并点击提交按钮,显示提交成功。 通过
5-2 旅游商品增加功能 黑盒功能性测试 增加一个已经存在的相关信息,并点击提交按钮,显示提交失败 通过
5-3 旅游商品修改模块 黑盒功能性测试 修改一个相关信息,并且修改目前已经存在,并点击提交按钮。 通过
5-4 旅游商品删除 黑盒功能性测试 删除一个相关信息,并点击提交按钮。 通过
6-1 用户游记增加功能 黑盒功能性测试 增加一个之前不存在的相关信息,并点击提交按钮,显示提交成功。 通过
6-2 用户游记增加功能 黑盒功能性测试 增加一个已经存在的相关信息,并点击提交按钮,显示提交失败 通过
6-3 用户游记修改模块 黑盒功能性测试 修改一个相关信息,并且修改目前已经存在,并点击提交按钮。 通过
6-4 用户游记删除 黑盒功能性测试 删除一个相关信息,并点击提交按钮。 通过
6.2小结
该系统经过系统功能测试,黑盒手工测试方法,经过对实验案例的科学的分析,所完成的实验系统已经完全地完成了测试。
第7章 总结
本次设计的从化特色旅游小镇网站系统通过对国内外的目前商用类产品现状的分析,提出设计一个具备商品数据获取和可视化分析的为一体的PC端的Web类型的系统。
此技术以 Python为基础,并与 Python Django框架相融合,开发了一种适用于我国县级的综合型旅行社站点。最后,通过对房地产市场的需求和系统的开发,开发了一套功能完备、界面交互强大的房产买卖可视化管理平台,其应用前景广阔,具有重要的现实意义。
致 谢
转眼间,我的学生生涯马上就要结束了,马上我就要离开象牙塔到社会中锻炼,在这段时间中,我在学校受益颇深,本文的撰写也即将结束,还记得论文准备初期直到完成出现过很多困难和问题,但我始终不放弃,努力进行学术研究,并把研究中遇到的问题一一改正,最终完成课题的所有研究工作及撰写,在此也离不开父母、同学的帮助,我同样要感谢你们。
我要对我的导师表示最诚挚的感谢!导师渊博的专业知识、严谨的学术态度和严于律己的治教风格对我本人产生了较为深远的影响,不仅让我在学术专业方面获得了提高,同时也懂得了写作论文的技巧,从选题、初稿、修改、定稿,导师都对我提供了帮助,不管事在写论文期间,还是在生活、学习中面对困难老师都给予了极大的帮助,所有问题都得到了有效解决。在此,我衷心的感谢老师,谢谢您。
我要对努力栽培我的母校表达出最诚挚的谢意,不但让我明白了学习的重要性,还明白了做人的道理,学习了很多的知识,从而提高我的视野和思维,让我今后无论是在自己的专业领域还是生活当中都具备了应对的能力,感恩的情感很难表达,在这里我要对母校表示我最诚挚的感谢,因为有你,所以才有现在的我。谢谢!
不管是在学习、生活中,我都获得了我亲爱的同学提供的帮助和支持,在这里我要对他们表示我最诚挚的感谢。最后我要对我的家人表示最诚挚的感谢。首先我要感谢父母,因为有你们我才可以安心学习,不断深造,父母年岁已大,本是应该颐养天年的时期,却要无微不至的照顾我,对我提供了很多的帮助。未来我必然会在学习、工作中,勇于面对困难,更进一步。。
参考文献
[1]王家明,李湘.基于大数据分析的新疆智慧旅游网站的设计与实现[J].电脑知识与技术,2021,17(03):129-130+133.DOI:10.14004/j.cnki.ckt.2021.0151.
[2]吴涛,张俊.基于Dubbo的攀枝花康养旅游网站设计与实现[J].电脑知识与技术,2020,16(35):78-80.DOI:10.14004/j.cnki.ckt.2020.3789.
[3]曹利.基于Bootstrap旅游网站设计与实现[J].太原师范学院学报(自然科学版),2019,18(04):65-67.
[4]徐连霞,傅伟.淮安旅游网站设计与实现[J].山西青年,2019(23):71.
[5]那俊豪. 旅游网站数据采集及分析系统的设计与实现[D].电子科技大学,2017.
[6]高洁.基于ASP技术的地方旅游景点网站设计与实现[J].办公自动化,2016(07):43-45+51.
[7]马艳艳. 基于旅游网站的游记制作和分享的设计与实现[D].北京工业大学,2014.
[8]周彦祺. 厦门旅游电子商务网站的设计与实现[D].厦门大学,2014.
[9]秦鑫. 旅游管理网站系统的设计与实现[D].大连理工大学,2013.
[10]阎峰. 风景区旅游门户网站的设计与实现[D].吉林大学,2012.
[11]刘昱. 旅游网站系统设计与实现[D].电子科技大学,2011.
[12]吴春梅,蒋林利,余荣川.基于Python和Django框架的二级学院资料室图书管理系统设计与实现[J].无线互联科技,2020,17(16):67-70.
[13]刘满义. 基于Django的斗地主游戏平台设计与实现[D].贵州大学,2020.
[14]Yuan Elaine Jingyan. The Web of Meaning:The Internet in a Changing Chinese Society[M].University of Toronto Press, Scholarly Publishing Division:2021-03-26.
[15]. AJN On the Web[J]. AJN, American Journal of Nursing,2021,121(4).
[16]. Warming indirectly increases invasion success in food webs[J]. Proceedings of the Royal Society B,2021,288(1947).
[17]Grehan, Rick. Pillars of Python: Django Web framework[J]. InfoWorld.com,2021.