面向智慧旅游的旅游信息管理系统设计与实现---附源码30060

摘要

本论文针对旅游业快速发展的背景,提出了一种面向智慧旅游的旅游信息管理系统。该系统通过对旅游信息的整合、分析和管理,实现了旅游资源的高效利用和智慧化服务。首先,论文介绍了智慧旅游的概念和特点,探讨了传统旅游信息管理系统存在的问题和不足。然后,论文详细描述了设计与实现过程,包括系统架构、功能模块和技术实现。系统架构采用了分布式、可扩展的设计理念,功能模块涵盖了信息采集、分析、展示等环节。最后,论文通过对系统进行实际案例测试和用户反馈,验证了系统在提升旅游信息管理效率和服务质量方面的有效性和优越性。本研究为智慧旅游领域的发展提供了有益的借鉴和实践经验,具有一定的理论和实践意义。

本旅游信息管理系统是以Django这一框架为基础,采用Python的编程语言,使用了MySQL这一数据库进行开发的。通过对系统进行测试和评估,我们发现系统能够准确获取用户的地理位置和个人偏好信息,并根据用户的需求,提供准确的旅游信息和推荐。同时,系统的响应速度也较快,能够满足用户的需求。

关键词:旅游信息管理系统;Python;Django框架;旅游商城


Abstract

This paper proposes a tourism information management system for smart tourism against the background of rapid development of the tourism industry. This system achieves efficient utilization and intelligent services of tourism resources through the integration, analysis, and management of tourism information. Firstly, the paper introduces the concept and characteristics of smart tourism, and explores the problems and shortcomings of traditional tourism information management systems. Then, the paper provides a detailed description of the design and implementation process, including system architecture, functional modules, and technical implementation. The system architecture adopts a distributed and scalable design concept, with functional modules covering information collection, analysis, display and other links. Finally, the paper validated the effectiveness and superiority of the system in improving tourism information management efficiency and service quality through practical case testing and user feedback. This study provides useful reference and practical experience for the development of smart tourism, and has certain theoretical and practical significance.

This tourism information management system is based on the Django framework, developed using Python programming language and MySQL database. Through testing and evaluating the system, we found that it can accurately obtain the user's geographical location and personal preference information, and provide accurate travel information and recommendations based on the user's needs. At the same time, the response speed of the system is also fast, which can meet the needs of users.

Keywords:Tourism information management system; Python; Django framework; Tourism Mall

目 录

1 绪论

1.1 研究背景与意义

1.2 研究现状

1.3 论文安排与章节内容

1.4 关键技术

1.4.1 Python编程语言

1.4.2 Django框架

1.4.3 MySQL数据库

2 系统分析

2.1 可行性分析

2.1.1 技术可行性分析

2.1.2 经济可行性分析

2.1.3 操作可行性分析

2.2 需求分析

2.2.1 业务流程分析

2.2.2 功能需求分析

2.2.3 非功能性分析

3.1 架构设计

3.2 功能模块设计

3.3 数据库设计

3.3.1 概念模型设计

3.3.2 数据库表的设计

4 系统实现

4.1 开发环境

4.2 前端用户功能模块实现

4.2.1 用户端首页模块

4.2.2 注册模块

4.2.3 登录模块

4.2.4 旅游资讯模块

4.2.5 旅游商城模块

4.2.6 我的购物车模块

4.2.7 我的订单模块

4.2.8 景点信息模块

4.2 后端管理功能模块实现

4.2.1 系统用户管理模块

4.2.2 资源管理模块

4.2.4 商城管理模块

5.1测试计划

5.1.1 测试范围与主要内容

5.1.2 测试方法

5.1.3 测试环境

5.2 功能测试

5.3 测试结论

6 总结与展望

致谢

1 绪论

1.1 研究背景与意义

随着社会的发展和科技的进步,旅游已经成为人们生活中重要的方式之一。然而,传统的旅游模式在信息获取、行程规划、导览服务等方面存在诸多不便和局限性。随着智能手机的普及和互联网技术的发展,智慧旅游应运而生,通过智能化的方式提升旅游体验,为游客提供更便捷、个性化的服务。

传统的旅游信息管理系统主要以静态的方式提供景点信息、交通信息、酒店信息等,用户需通过搜索引擎等手段来获取信息,使用体验较为被动和局限。而面向智慧旅游的旅游信息管理系统则能够实现信息的动态更新、推荐个性化旅游线路、酒店信息和旅游商城等功能,使得旅游更加便捷、智能化。

面向智慧旅游的旅游信息管理系统的研究具有重要的实践意义和社会意义。首先,通过智能化的方式提升旅游体验,能够吸引更多游客选择智慧旅游,推动旅游业的发展。其次,智慧旅游系统还能够为旅游从业者提供更加高效的管理工具,帮助他们更好地理解游客需求,提升服务质量和竞争力。此外,智慧旅游系统还能够促进旅游资源的合理分配和可持续发展,推动旅游业向着更加智能化、绿色化的方向发展。

因此,研究开发面向智慧旅游的旅游信息管理系统,不仅具有实际应用的重要性,也能够为旅游业的转型升级提供重要参考和支持。

1.2 研究现状

当前,随着信息技术的迅猛发展和人们旅游需求的不断增长,智慧旅游概念逐渐被提出并受到广泛关注。智慧旅游是利用互联网、大数据、云计算、移动通信等先进技术,提供个性化、智能化、便捷化的旅游服务。在智慧旅游中,旅游信息管理系统被认为是一个重要的组成部分。

国内外的研究机构和学者已经开始探索和研究智慧旅游的信息管理系统。国外研究主要集中在欧美地区,主要从用户需求、信息技术应用和商业模式等方面进行研究。针对用户需求,研究者提出了多种个性化推荐算法,以提供用户定制化的旅游信息和服务。同时,信息技术的应用也是研究的重点,如使用大数据技术对旅游数据进行分析和挖掘,以实现旅游资源的精准推荐和优化管理。此外,商业模式的研究也为智慧旅游的发展提供了理论支持,研究者提出了多种创新的商业模式,如共享经济模式和在线旅游平台等。这些研究为智慧旅游信息管理系统的发展提供了很好的借鉴。

国内研究方面,智慧旅游的信息管理系统研究还较为滞后,但近年来也取得了一些进展。学者们关注着用户需求和行为模式,提出了个性化推荐算法和用户行为分析方法。此外,一些企业也开始尝试构建智慧旅游的信息管理系统,以提供差异化的旅游服务和体验。

总体来说,国内外的研究都在不同程度上关注智慧旅游的信息管理系统,但仍然存在一些问题和待解决的挑战。因此,深入研究和探索智慧旅游信息管理系统的建设是当前研究的重要方向。

1.3 论文安排与章节内容

本次写作的论文,在结构方面主要分为六大部分,每一部分都必不可少,共同组合形成一个完好的论文结构,具体的安排列出如下。

绪论部分,该部分讲述的是旅游信息管理系统的开发背景,明确开发的意义以及系统的研究现状,并对系统的关键技术和整个章节安排进行介绍。

系统分析部分,该部分首先从可行性入手进行分析,明确程序开发可行后,进而对程序的功能以及姓名需求进行分析。系统开发环境介绍,该部分也讲述了开发旅游信息管理系统所使用的技术简介、数据库概念和特点、编码工具、建模工具等。

系统概要设计,对系统前后台的功能分别进行设计,然后完成系统的总体功能以及各个子模块的设计。系统数据库的设计,对系统的数据库实体以及数据库表进行设计。

系统的实现部分,对系统每一角色主要实现的功能的页面来进行展示一下。

系统测试部分,介绍测试的测试目的,用例,完成对程序测试工作,让投入运行的程序减少出错的几率,力求最好。

总结部分,此刻所有的工作都已经完成了,在此进行总结,展望。

1.4 关键技术

1.4.1 Python编程语言 

Python是一种高级编程语言,以其简洁、易读和易于学习的特点而受到广泛欢迎。作为一门通用编程语言,Python在各个领域都有广泛的应用,包括Web开发、数据分析、人工智能、科学计算等。Python的设计理念注重代码的可读性和简洁性,使得开发者可以更加专注于问题的解决而不必过多关注语法细节。同时,Python拥有丰富的标准库和活跃的社区,这为开发者提供了大量的工具和资源。Python还支持面向对象编程、函数式编程以及模块化开发,使得代码的组织和复用变得更加便捷。此外,Python还具备良好的跨平台性,可以在多种操作系统上运行。总之,Python的简洁性、可读性和强大的生态系统使其成为众多开发者的首选编程语言。

1.4.2 Django框架

Django是高水准的Python编程语言驱动的一个开源模型·视图·控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Django框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于2005 年以开源的形式被释放出来。

Django已经成为web开发者的首选框架,是一个遵循 MVC 设计模式的框架。MVC是Model、View、Controller三个单词的简写,分别代表模型、视图、控制器。Django其实也是一个MTV 的设计模式。MTV是Model、Template、View三个单词的简写,分别代表模型、模版、视图。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。

1.4.3 MySQL数据库

MySQL是一种广泛使用的开源关系型数据库管理系统。它具有高性能、可靠性和可扩展性等优点,被广泛应用于Web应用程序和大型企业级系统中。MySQL的核心特性包括关系型数据库管理系统的基本概念、数据模型和类型、SQL语言支持、事务处理和并发控制,以及安全性和权限管理。其架构由连接管理器、查询解析器和优化器、存储引擎、日志系统和恢复机制等组件构成。MySQL在实际应用中的优势体现在高性能、可伸缩性、可靠性、灵活性和易用性等方面。然而,MySQL也面临着一些局限性和挑战,如大规模数据处理的限制、复杂查询和性能优化、高并发和负载均衡,以及安全性和数据保护等方面。为了最大化MySQL的性能和效益,最佳实践和性能优化建议涉及数据库设计和规范化、索引设计和查询优化、缓存和分区技术,以及负载测试和容量规划等方面。总之,通过深入研究MySQL的描述,我们可以更好地理解其工作原理和适用场景,并为数据库开发人员和管理员提供有价值的参考。


2 系统分析

2.1 可行性分析

可行性分析是系统分析的第一步,通过可行性分析我们可以得出系统是不是值得开发,如果系统的开发是不可信的,那么就没有必要再进行下面的操作,对于本旅游信息管理系统在可行性方面进行了技术、经济以及操作的分析。

2.1.1 技术可行性分析

旅游信息管理系统设计与实现是一个基于Web的交易、信息管理平台,我们在实现这个系统所采用的技术方案是基于Python语言,Django框架,MySQL数据库,在大学的学习中这两门课程都已经学过,而且自己也用这些技术开发过小的项目,在平时的课程设计以及作业也经常用到Python和MySQL,在技术上实现自己的自主开发是可行的。

2.1.2 经济可行性分析

在开发旅游信息管理系统并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上通过走访调查目前用户对旅游信息管理系统的需求,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的

2.1.3 操作可行性分析

操作方面主要考虑的是用户在使用以及管理人员在管理的时候,是否简单可行,没有任何计算机基础的用户能否使用,开发的旅游信息管理系统在设计的时候秉承简单易学的理念,在用户进入系统后都会有固定的导航按钮,只要认字就可以操作完成,而且管理员在管理方面也只需简单的增删改查即可完成,因此在操作上也是可行的

2.2 需求分析

2.2.1 业务流程分析

对系统的数据流进行分析,系统的使用者分为二类,前端用户和后台管理员。管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

开发旅游信息管理系统其中主要的一个功能是实现用户对景点信息的下单购票,因此系统的业务流程如下图所示。

图2.1 业务流程图

2.2.2 功能需求分析

1、旅游商城模块:本旅游信息管理系统主要的一个功能就是购买旅游商品信息,所以系统中需要管理员添加各种商品供用户查询,购买,管理员在此模块主要是对商品的增删改查,游客实现对商品的查询,旅游用户则实现商品信息的收藏、评论、加购、立即购买等操作。如下图2.2所示。

图2.2 旅游商城模块用例图

(2)旅游资讯模块:管理员在后台可以对旅游资讯及其分类进行增删改查,游客实现查看旅游资讯,用户进行收藏、点赞、评论。如下图2.3所示。

图2.3旅游资讯模块用例图

3)景点信息模块:管理员在后台可以对景点信息进行增删改查,游客实现查看景点信息,用户进行下单购票、点赞、收藏、评论。如下图2.4所示。

图2.4景点信息模块用例图

4)旅游线路模块:管理员在后台可以对旅游线路进行增删改查,游客实现查看旅游线路,用户进行收藏、评论。如下图2.5所示。

图2.5旅游线路模块用例图

5)酒店信息模块:管理员在后台可以对酒店信息进行增删改查,游客实现查看酒店信息,用户进行预定、点赞、收藏、评论。如下图2.6所示。

图2.6酒店信息模块用例图

6)用户管理模块:在前台游客可以通过注册,然后参与到系统当中,管理员可以对注册的用户进行修改、删除、查询、也可以添加新的用户。如下图2.7所示。

图2.7用户管理模块用例图

7)购物管理:用户对喜欢的旅游商品可以进行购买,可以选择立即购买或者加入到购物车中进行购买,如下图2.8所示。

图2.8购物管理模块用例图

8我的订单管理:在旅游信息管理系统中,用户和管理员都能够管理订单,可以对订单进行查看、删除。如下图2.9所示。

图2.9订单管理模块用例图。

9个人中心模块:我的模块是用户独有的功能,可以在“个人中心”管理个人首页、订票信息、房间预定、入住信息、退房信息、订单配送、收藏,个人中心用例如下图2.10所示。

图2.10个人中心管理模块用例图

2.2.3 非功能性分析

系统的功能需求方面主要是从系统的安全性、存储性、可靠性、易学性、稳定性等方面进行分析:

1、安全性:系统的安全问题是开发者首先要考虑的,如果系统存在安全隐患,可能使得用户个人信息被泄露,给用户带来困扰,造成损失。

2、储存性:因为用户使用的关于智慧旅游信息与旅游商城结合的系统,用户交流数据多,而且登录后要查询各种景点信息和商品信息,那就需要一个强大的数据库来进行数据的存储,对数据库的要求是非常严格的,本系统选用的是MySQL数据库,MySQL的运行速度很快,执行命令的速度也非常快,而且体积小。

3、可靠性:可靠性指的是用户在进行商品信息查询、评论以及购买的时候,能够按照用户的指示进行显示信息,如果用户点击查询商品详细信息,显示出来的是不可购买的信息,那就违背用户的初衷。

4、易学性:系统的开发面向对象学历不尽相同,所有在开发的时候要考虑系统操作应该简单,不需要进行任何学习、培训,只能上网的用户就可以操作。

5、稳定性:系统在运行方面要很稳定,系统的界面、字体要清楚,没有失真现象,给用户以良好的体验。

6、可拓展性:本旅游信息管理系统的功能还有待完善,因此系统要有很好的拓展性,方便后期功能更新维护。
3 系统设计

3.1 架构设计 

本旅游信息管理系统的架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

系统架构图如图3.1所示:

图3.1 系统架构图

3.2 功能模块设计

旅游信息管理系统总体分为前台用户模块和后台管理员模块。

两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

综上所述,系统功能结构图如图3.2所示

图3.2 系统功能模块图

3.3 数据库设计 

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 概念模型设计 

下面是整个旅游信息管理系统中主要的数据库表总E-R实体关系图如下图3.3所示。

图3.3 系统数据库E-R图

3.3.2 数据库表的设计 

通过上一小节中旅游信息管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表article (文章:用于资源管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表attraction_information (景点信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

attraction_information_id

int

10

0

N

Y

景点信息ID

2

attraction_name

varchar

64

0

Y

N

景点名称

3

types_of_attractions

varchar

64

0

Y

N

景点类型

4

cover

varchar

255

0

Y

N

封面

5

ticketing_unit_price

int

10

0

Y

N

0

售票单价

6

tourist_attraction_phone_number

varchar

64

0

Y

N

景点电话

7

attraction_address

varchar

64

0

Y

N

景点地址

8

introduction_to_scenic_spots

longtext

2147483647

0

Y

N

景点介绍

9

hits

int

10

0

N

N

0

点击数

10

praise_len

int

10

0

N

N

0

点赞数

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表booking_information (订票信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

booking_information_id

int

10

0

N

Y

订票信息ID

2

order_number

varchar

64

0

Y

N

订单号

3

attraction_name

varchar

64

0

Y

N

景点名称

4

types_of_attractions

varchar

64

0

Y

N

景点类型

5

cover

varchar

255

0

Y

N

封面

6

ticketing_unit_price

int

10

0

Y

N

0

售票单价

7

tourist_attraction_phone_number

varchar

64

0

Y

N

景点电话

8

attraction_address

varchar

64

0

Y

N

景点地址

9

ticketing_users

int

10

0

Y

N

0

购票用户

10

user_name

varchar

64

0

Y

N

用户姓名

11

users_mobile_phone

varchar

64

0

Y

N

用户手机

12

booking_period

date

10

0

Y

N

订票日期

13

booking_quantity

int

10

0

Y

N

0

订票数量

14

payment_amount

varchar

64

0

Y

N

支付金额

15

examine_state

varchar

16

0

N

N

未审核

审核状态

16

examine_reply

varchar

16

0

Y

N

审核回复

17

pay_state

varchar

16

0

N

N

未支付

支付状态

18

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表check_in_information (入住信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

check_in_information_id

int

10

0

N

Y

入住信息ID

2

order_number

varchar

64

0

N

N

订单编号

3

display_number

varchar

64

0

Y

N

展现编号

4

hotel_name

varchar

64

0

Y

N

酒店名称

5

room_type

varchar

64

0

Y

N

房间类型

6

room_name

varchar

64

0

Y

N

客房名称

7

cover

varchar

255

0

Y

N

封面

8

room_unit_price

int

10

0

Y

N

0

房间单价

9

tourism_users

int

10

0

Y

N

0

旅游用户

10

order_date

date

10

0

Y

N

下单日期

11

number_of_room_reservations

int

10

0

Y

N

0

订房数量

12

stay_days

int

10

0

Y

N

0

入住天数

13

payment_amount

varchar

64

0

Y

N

支付金额

14

pay_state

varchar

16

0

N

N

未支付

支付状态

15

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表check_out_information (退房信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

check_out_information_id

int

10

0

N

Y

退房信息ID

2

order_number

varchar

64

0

N

N

订单编号

3

display_number

varchar

64

0

Y

N

展现编号

4

hotel_name

varchar

64

0

Y

N

酒店名称

5

room_type

varchar

64

0

Y

N

房间类型

6

room_name

varchar

64

0

Y

N

客房名称

7

cover

varchar

255

0

Y

N

封面

8

room_unit_price

int

10

0

Y

N

0

房间单价

9

tourism_users

int

10

0

Y

N

0

旅游用户

10

order_date

date

10

0

Y

N

下单日期

11

number_of_room_reservations

int

10

0

Y

N

0

订房数量

12

stay_days

int

10

0

Y

N

0

入住天数

13

payment_amount

varchar

64

0

Y

N

支付金额

14

check_out

date

10

0

Y

N

退房日期

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表hotel_information (酒店信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hotel_information_id

int

10

0

N

Y

酒店信息ID

2

display_number

varchar

64

0

Y

N

展现编号

3

hotel_name

varchar

64

0

Y

N

酒店名称

4

room_name

varchar

64

0

Y

N

客房名称

5

room_type

varchar

64

0

Y

N

房间类型

6

cover

varchar

255

0

Y

N

封面

7

room_unit_price

int

10

0

Y

N

0

房间单价

8

number_of_rooms

int

10

0

Y

N

0

房间数量

9

hotel_address

varchar

64

0

Y

N

酒店地址

10

details_introduction

longtext

2147483647

0

Y

N

详情介绍

11

hits

int

10

0

N

N

0

点击数

12

praise_len

int

10

0

N

N

0

点赞数

13

recommend

int

10

0

N

N

0

智能推荐

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表room_reservation (房间预定)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

room_reservation_id

int

10

0

N

Y

房间预定ID

2

order_number

varchar

64

0

Y

N

订单编号

3

display_number

varchar

64

0

Y

N

展现编号

4

hotel_name

varchar

64

0

Y

N

酒店名称

5

room_type

varchar

64

0

Y

N

房间类型

6

room_name

varchar

64

0

Y

N

客房名称

7

cover

varchar

255

0

Y

N

封面

8

room_unit_price

int

10

0

Y

N

0

房间单价

9

tourism_users

int

10

0

Y

N

0

旅游用户

10

order_date

date

10

0

Y

N

下单日期

11

number_of_room_reservations

int

10

0

Y

N

0

订房数量

12

stay_days

int

10

0

Y

N

0

入住天数

13

payment_amount

varchar

64

0

Y

N

支付金额

14

examine_state

varchar

16

0

N

N

未审核

审核状态

15

examine_reply

varchar

16

0

Y

N

审核回复

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表room_type (房间类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

room_type_id

int

10

0

N

Y

房间类型ID

2

room_type

varchar

64

0

Y

N

房间类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表route_type (路线类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

route_type_id

int

10

0

N

Y

路线类型ID

2

route_type

varchar

64

0

Y

N

路线类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表tourism_mall (旅游商城)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

tourism_mall_id

int

10

0

N

Y

旅游商城ID

2

product_specifications

varchar

64

0

Y

N

商品规格

3

commodity_manufacturers

varchar

64

0

Y

N

商品厂商

4

praise_len

int

10

0

N

N

0

点赞数

5

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

6

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

7

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

8

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

9

cart_price

double

8

2

N

N

0.00

卖价:[1]

10

cart_inventory

int

10

0

N

N

0

商品库存

11

cart_type

varchar

64

0

N

N

未分类

商品分类:

12

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

13

cart_img_1

text

65535

0

Y

N

主图1:

14

cart_img_2

text

65535

0

Y

N

主图2:

15

cart_img_3

text

65535

0

Y

N

主图3:

16

cart_img_4

text

65535

0

Y

N

主图4:

17

cart_img_5

text

65535

0

Y

N

主图5:

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表tourism_users (旅游用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

tourism_users_id

int

10

0

N

Y

旅游用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

users_mobile_phone

varchar

16

0

Y

N

用户手机

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

user_id

int

10

0

N

N

0

用户ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表tourist_routes (旅游线路)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

tourist_routes_id

int

10

0

N

Y

旅游线路ID

2

line_name

varchar

64

0

Y

N

线路名称

3

cover

varchar

255

0

Y

N

封面

4

route_type

varchar

64

0

Y

N

路线类型

5

emergency_phone_number

varchar

64

0

Y

N

紧急电话

6

route_location

text

65535

0

Y

N

途径位置

7

route_introduction

longtext

2147483647

0

Y

N

路线介绍

8

hits

int

10

0

N

N

0

点击数

9

recommend

int

10

0

N

N

0

智能推荐

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表types_of_attractions (景点类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

types_of_attractions_id

int

10

0

N

Y

景点类型ID

2

types_of_attractions

varchar

64

0

Y

N

景点类型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:


4 系统实现

4.1 开发环境

本研究将使用Django框架开发旅游信息管理系统。开发环境为Python开发语言、MySQL关系数据库、Apache、Tomcat服务器等。系统开发环境如表4.1所示。

表4.1 系统开发环境

硬件环境

软件环境

CPU: 2.0G 以上

操作系统:Windows 7及 以上版本

内存:8GB 以上

开发语言:Python

使用框架:Django

开发工具:IDEA(2020版)

数据库:MySQL 5.6以上

硬盘:100MB以上

数据库管理工具:Navicat

JDK版本:Python 1.8

显卡:图像级显卡以上

数据库:MySQL 5.6以上

4.2 前端用户功能模块实现

4.2.1 用户端首页模块

当进入旅游信息管理系统的时候,首先映入眼帘的是系统的导航栏,导航栏上面是轮播图,其次是旅游商城,用户端首页界面如下图所示。

图4.1 前台首页模块实现图

4.2.2 注册模块

不是旅游信息管理系统中正式用户的是可以在线进行注册的,当用户点击“注册”按钮,填写上自己的账号+密码+确认密码+昵称等,再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可旅游用户注册成功。

用户端注册模块实现图如下所示。

图4.2 用户端注册模块实现图

注册关键代码如下:

  def Register(self, ctx):

        print("===================注册=====================")

        userService = service_select("user")

        body = ctx.body

        if "username" not in body and body["username"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名不能为空",

                }

            }, ensure_ascii=False))

        if "user_group" not in body and body["user_group"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户组不能为空",

                }

            }, ensure_ascii=False))

        if "password" not in body and body["password"] == '':

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "密码不能为空",

                }

            }, ensure_ascii=False))

        post_param = body

        post_param['nickname'] = body["nickname"] or ""

        post_param['password'] = md5hash(body["password"])

        obj = userService.Get_obj({"username": post_param['username']}, {"like": False})

        if obj:

            return ctx.response(json.dumps({

                "error": {

                    "code": 70000,

                    "message": "用户名已存在",

                }

            }, ensure_ascii=False))

        ret = {

            "error": {

                "code": 70000,

                "message": "注册失败",

            }

        }

        bl = userService.Add(post_param)

        if bl:

            ret = {

                "result": {

                    "bl": True,

                    "message": "注册成功"

                }

            }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.2.3 登录模块

旅游信息管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并通过滑动验证通过后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到旅游信息管理系统的首页中;否则将会提示相应错误信息。

用户端登录模块实现图如下所示。

图4.3 用户端登录模块实现图

用户登录关键代码如下:

 def Login(self, ctx):

        print("===================登录=====================")

        ret = {

            "error": {

                "code": 70000,

                "message": "账户不存在",

            }

        }

        body = ctx.body

        password = md5hash(body["password"]) or ""

        obj = service_select("user").Get_obj(

            {"username": body["username"]}, {"like": False}

        )

        if obj:

            user_group = service_select("user_group").Get_obj({'name': obj['user_group']}, {"like": False})

            if user_group and user_group['source_table'] != '':

                user_obj = service_select(user_group['source_table']).Get_obj({"user_id": obj['user_id']},                                                                       {"like": False})

                if user_obj['examine_state'] == '未通过':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未通过审核",

                        }

                    }

                    return ret

                if user_obj['examine_state'] == '未审核':

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "账户未审核",

                        }

                    }

                    return ret

            if obj["state"] == 1:

                if obj["password"] == password:

                    timeout = timezone.now()

                    timestamp = int(time.mktime(timeout.timetuple())) * 1000

                    token = md5hash(str(obj["user_id"]) + "_" + str(timestamp))

                    ctx.request.session[token] = obj["user_id"]

                    service_select("access_token").Add(

                        {"token": token, "user_id": obj["user_id"]}

                    )

                    obj["token"] = token

                    ret = {

                        "result": {"obj": obj}

                    }

                else:

                    ret = {

                        "error": {

                            "code": 70000,

                            "message": "密码错误",

                        }

                    }

            else:

                ret = {

                    "error": {

                        "code": 70000,

                        "message": "用户账户不可用,请联系管理员",

                    }

                }

        return ctx.response(json.dumps(ret, ensure_ascii=False))

4.2.4 旅游资讯模块

用户点击旅游信息管理系统中导航栏上的“旅游资讯”后将会进入到该“旅游资讯”列表的界面,在详细界面可以对旅游资讯信息进行点赞、收藏和评论等操作。旅游资讯模块实现图如下所示。

图4.4 旅游资讯模块实现图

4.2.5 旅游商城模块

当访客点击任意旅游商城后将会进入该款商品的详情界面,可以了解到该商品的标题、简介、分类、商品属性、商品图片、详细介绍等,同时可以对该商品进行收藏、加购、购买评论等。

商品信息详情实现图如下所示。

图4.5 商品信息详情实现图

4.2.6 我的购物车模块

当用户点击“商城管理”里的“我的购物车”按钮则会显示自己加入购物车的商品,然后对其进行购买管理。我的购物车模块实现图如下所示。

图4.6 我的购物车模块实现图

4.2.7 我的订单模块

当用户点击“商城管理”里的“我的订单”,会显示自己提交的所有的订单,可以按照订单状态等进行查看。我的订单模块实现图如下所示。

图4.7我的订单模块实现图

4.2.8 景点信息模块

用户点击旅游信息管理系统中首页导航栏上的快捷入口“景点信息”后将会进入到“景点信息”列表的界面,选择其中一条点击可以查看详情包括景点名称、景点类型、售票单价、景点电话、景点地址、景点介绍等信息,在详细界面可以对景点信息进行下单购票、点赞、收藏、评论等操作。

景点信息模块实现图如下所示。

图4.8 景点信息模块实现图

下单购票实现图如下所示。

图4.9 下单购票实现图

4.2 后端管理功能模块实现

4.2.1 系统用户管理模块

后台管理人员是可以对前台注册的旅游用户和管理员进行管理的。系统用户管理实现图如下所示。

图4.10 系统用户管理模块实现图

4.2.2 资源管理模块

后台管理人员在资源管理模块是可以对旅游资讯以及资讯分类的分类进行增删改查操作。资源管理模块实现图如下所示。

图4.11 资源管理模块实现图

4.2.4 商城管理模块

后台管理人员对旅游信息管理系统内的不同商品的分类下的商品信息进行维护和管理。

添加商品详细实现图如下所示。

图4.12 添加商品信息实现图


5 系统测试

5.1测试计划

5.1.1 测试范围与主要内容

系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。

5.1.2 测试方法

为了保证系统的质量和稳定性,将采用黑盒测试和白盒测试相结合的方法进行测试。在黑盒测试中,将验证系统的功能是否达到用户需求,包括功能的正确性、一致性和完整性。在白盒测试中,将通过对系统代码的检查和覆盖率分析,提高系统的可靠性和安全性。

5.1.3 测试环境

为了保证测试的有效性,将搭建专门的测试环境,包括开发环境、测试环境和生产环境。开发环境将用于系统的开发和调试,测试环境将用于功能和性能的测试,生产环境将用于系统的正式运行和用户实际体验。

1、必备的工作条件:Windows10

2、软件及开发环境:IDEA、HeidiSQL、MySQL、Visual Studio Code

3、硬件条件:个人笔记本电脑

5.2 功能测试

下表系统测试包括:用户登录功能测试、景点信息展示功能测试、商品信息添加、旅游资讯搜索、密码修改功能测试,如表5.1、5.2、5.3、5.4、5.5所示:

用户登录功能测试:

表5.1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

景点信息查看功能测试:

表5.2 景点信息查看功能测试表

用例名称

景点信息查看

目的

测试景点信息查看功能

前提

用户登录

测试流程

点击景点信息列表

预期结果

可以查看到所有景点信息信息

实际结果

实际结果与预期结果一致

管理员添加商品信息界面测试:

表5.3 管理员添加商品信息界面测试表

用例名称

商品信息发布测试用例

目的

测试商品信息发布功能

前提

管理员用户正常登录情况下

测试流程

1)管理员点击商品信息,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的商品信息 

实际结果

实际结果与预期结果一致

旅游资讯搜索功能测试:

表5.4 旅游资讯搜索功能测试表

用例名称

旅游资讯搜索测试

目的

测试旅游资讯搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字旅游资讯

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表5.5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

5.3 测试结论

通过编写旅游信息管理系统的测试用例,已经检测完毕用户登录功能测试、景点信息展示功能测试、商品信息添加、旅游资讯搜索、密码修改功能测试,通过这5大模块为旅游信息管理系统的后期推广运营提供了强力的技术支撑。

本旅游信息管理系统满足相关信息的管理需求,在设计时借鉴了国内外优秀网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。系统的主要特点和优点归纳如下:

(1)本系统用的移置性和针对性都比较高,因为针对性高可以提供更好的服务而移置性可以在多个系统上运行,更给用户带来了极大的方便。

(2)该旅游信息管理系统内容全面,管理方便可以及时的全面的处理各种错误,异常,这样避免了很多因用户的马虎操作而出现的失误,其操作方便,用户界面友好,能够上网的人都可以很好的进行操作。

经过对上述的测试结果分析,所有基本功能齐全,操作简单,系统运行性能良好,系统安全可靠,能促进旅游信息管理系统的发展,发展前景广阔。


6 总结与展望

通过本文的研究和实践,我们成功地基于Django框架设计并实现了一个旅游信息管理系统。该平台具有稳定、高效、可靠的特点,通过合理的功能模块设计和架构,提供了良好的用户体验。在系统测试中,验证了系统的稳定性和功能完整性,表明基于Django在快速开发和高质量软件构建方面具有显著优势。

本文的研究结果表明,使用基于Django能够快速开发出高效可靠的旅游信息管理系统。该平台通过合理的功能设计和良好的用户体验,提供了便捷的旅游信息管理服务,促进了资源的有效利用。同时,基于Django的应用也为系统的开发和维护带来了便利。然而,本研究还存在一些不足之处,如对系统安全性和性能优化的考虑不够充分。未来的研究可以进一步完善系统的功能和性能,并探索其他技术和方法的应用,以进一步提升旅游信息管理系统的质量和用户满意度。
参考文献

[1]Josep I ,B. A C ,Sandra N , et al.Smart tourism city governance: exploring the impact on stakeholder networks[J].International Journal of Contemporary Hospitality Management,2024,36(2):582-601.

[2]Tong J ,Liu Z .The construction of hotel information management mode under the trend of low carbon tourism[J].Applied Mathematics and Nonlinear Sciences,2024,9(1):

[3]Gou Q .Research on the integration management innovation path of tea culture and rural tourism industry under the background of information technology[J].Applied Mathematics and Nonlinear Sciences,2024,9(1):

[4]郭鹤楠.基于Django和Python技术的网站设计与实现[J].数字通信世界,2023,(06):60-62.

[5]赵光旭.智慧旅游线上导游服务系统的设计与实现[J].软件,2023,44(01):66-70.

[6]Tyson M .Error tracking with Sentry, Python, and Django[J].InfoWorld.com,2022,

[7]陈玲.基于Django的中国红色旅游推荐系统的设计与实现[J].软件,2022,43(09):100-103.

[8]于建韬.智慧旅游管理系统的分析与应用[J].佳木斯职业学院学报,2022,38(03):155-157.

[9]洪潜.数字经济时代重庆智慧旅游系统框架初探[J].西部旅游,2022,(04):27-29.

[10]仇念飞.高并发智慧旅游微服务系统设计与实现[D].桂林电子科技大学,2021.DOI:10.27049/d.cnki.ggldc.2021.001041.

[11]孙衍建.基于天地图的旅游信息服务系统设计与实现[J].北京测绘,2021,35(10):1348-1352.DOI:10.19580/j.cnki.1007-3000.2021.10.023.

[12]邱红丽,张舒雅.基于Django框架的web项目开发研究[J].科学技术创新,2021,(27):97-98.

[13]崔玲.基于移动互联网的景区智慧旅游系统研究[J].旅游纵览,2021,(13):99-101.

[14]马子辰.基于Django框架的社交电商系统的开发与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000666.

[15]高宏.面向智慧旅游系统的模糊多属性决策及评价[D].桂林电子科技大学,2021.DOI:10.27049/d.cnki.ggldc.2021.000224.

[16]王明尧.景区智慧旅游系统用户使用意愿的研究[D].沈阳师范大学,2021.DOI:10.27328/d.cnki.gshsc.2021.000479.

[17]董汉磊,聂雅琳,胡奎强等.基于Django框架的美多商城系统设计与实现[J].长江信息通信,2021,34(04):125-127.

[18]汪洋,姜新通.MVC框架在Python与Django下的设计研究[J].电脑与信息技术,2021,29(01):55-57+63.DOI:10.19414/j.cnki.1005-1228.2021.01.017.

[19]彭康华.基于云技术的大湾区旅游信息个性化管理系统开发研究[J].计算机时代,2020,(10):125-128.DOI:10.16644/j.cnki.cn33-1094/tp.2020.10.035.

[20]钟斌,互联网+智慧旅游景区信息管理系统V1.0.湖南省,张家界万达信息网络科技工程有限公司,2020-09-30.


致谢

眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!

我们的论文得益于许多学者的贡献,他们的研究成果为我们提供了宝贵的指导,使我们能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。

感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见。

点赞+收藏+关注  →私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值