Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

基于Django的中国红色旅游推荐系统的设计与实现论文

发布时间:2022-12-21 14:48:56 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):
 
  摘要:基于Django的中国红色旅游推荐系统主要用于宣传红色旅游资源,将红色景点按省份进行分类,以列表的形式展示景点,助力乡村振兴。本文主要介绍了使用Django开发中国红色旅游推荐系统的需求分析、设计、开发工具及实现等开发步骤。
 
  关键词:Django;中国红色旅游推荐系统;乡村振兴;开发步骤
 
  Design and Implementation of Chinese Red Tourism Recommendation System Based on Django
 
  CHEN Ling
 
  (School of Artificial Intelligence&Big Data,Luzhou Vocational&Technical College,Luzhou Sichuan 646000)
 
  【Abstract】:The Chinese Red Tourism recommendation system based on Django is mainly used to publicize red tourism resources,classify red scenic spots according to provinces,display scenic spots in the form of lists,and help rural revitalization.This paper mainly introduces the requirements analysis,design,development tools and implementation of the Chinese Red Tourism recommendation system developed by Django.
 
  【Key words】:Django;China Red Tourism recommendation system;rural vitalization;development steps
 
  0引言
 
  党的十九届五中全会提出,要持续推进红色旅游健康稳步发展,传承红色基础、弘扬革命文化、凝聚奋斗力量,助力乡村全面振兴。而中国革命是从乡村走出来的,乡村承载了中国革命的红色记忆,通过中国红色旅游推荐系统的开发,培养使用Django框架开发Python Web的能力,增强振兴中华的责任感和使命感。借力中国红色旅游推荐系统宣传红色旅游资源,助推乡村振兴[1]。
 
  中国红色旅游推荐系统以图文并茂的形式展示全国的红色旅游景点,帮助大家快速的查阅某个省份或某个特定的红色旅游景点,并能对之进行点赞和发表评论。本文探索了使用Django框架[2]开发中国红色旅游推荐系统的分析、设计、实现等开发步骤。

\
 
 
  1中国红色旅游推荐系统功能需求分析
 
  中国红色旅游推荐系统的首页可以总览中国红色旅游景点,也可以按省份来畅游,还可以输入内容进行搜索。图片轮播展示中国最具有代表性的红色旅游景点,通过热力地图能查看中国地图每个省份的景点数量,并以标签页的形式显示浏览量排名前2的热门景点和点赞数排名前2的推荐景点。
 
  景点列表页以列表的形式显示对应省份下的红色旅游景点,包含图片、标题、简介、省份、浏览量、点赞数、评论数、发布时间和“阅读原文”链接。
 
  景点详情页以图文混排的形式显示该景点的详细信息,并对该景点能进行点赞和收藏,并发表评论。景点详情页的最后显示该景点对应的评论信息。
 
  2中国红色旅游推荐系统设计
 
  2.1功能设计
 
  (1)景点管理。管理员能够发表、管理、查看红色景点信息,普通用户能够查阅和查询红色景点。景点包含如下信息:景点的标题、正文、发布日期、修改日期、浏览量、点赞数、评论数、标签、排序、缩略图、分类。
 
  发表日期和修改日期默认获取系统时间;浏览量、点赞数、评论数默认为0;根据标签查询景点;排序决定景点的显示顺序,相同时按照修改时间倒序;缩略图默认提取正文中的第一张图片。
 
  后台发布景点时,只需要输入景点的标题、图文并茂的正文、标签、显示顺序、景点分类等。后台能实现使用富文本编辑器编辑景点信息,并实现图片上传。点击Django后台的“保存”景点按钮时,能自动获取缩略图字段。
 
  (2)分类管理。对景点的分类名称及分类描述进行管理,可以添加、修改、删除、查看分类。
 
  (3)景点评论管理。在景点详情下面,显示该景点对应的评论信息。不需要注册登录,匿名用户输入昵称和评论内容进行提交,即可对景点进行评论。在Django后台,可以查询和删除评论,不能发表、修改评论。
 
  2.2数据库设计
 
  根据上述需求分析及功能设计,中国红色旅游推荐系统的实体有:景点、分类、评论。
 
  (1)景点实体的属性有:ID(主键,由Django的模型自动生成)、标题、正文、发布日期(默认获取系统时间)、修改日期(默认获取系统时间)、浏览量、点赞数、评论数(这三个属性,默认值均是0,后台不允许修改,后台不出现)、标签(查询关键字)、排序(决定景点的显示顺序,相同时按修改时间倒序)、缩略图(默认提取正文中的第一张图片)。
 
  (2)分类实体的属性有:ID(主键,由Django的模型自动生成)、分类名称、分类描述。
 
  (3)评论实体的属性有:ID(主键,由Django的模型自动生成)、昵称、评论内容、创建时间(默认获取系统时间)。
 
  分类实体和景点实体是一对多的关系,景点实体和评论实体是一对多的关系。
 
  2.3界面设计
 
  (1)首页设计。首页主要由导航栏、轮播图、热力地图、热门/推荐景点4个模块组成,如图1、图2、图3所示。

\
\
 
 
  (2)景点列表页设计。以列表的形式展示该省份下的红色景点信息,如图4所示。

\
 
 
  (3)景点详情页设计,如图5所示。

\
 
 
  3系统实现
 
  3.1技术框架及开发工具
 
  开发中国红色旅游推荐系统所采用的技术框架如下:
 
  (1)前端:使用jQuery、HTML、CSS、JavaScript等制作相关静态页面。
 
  (2)后端:使用Django3.2+Python3.8实现相关的功能。
 
  (3)数据库:使用Django自带的db.sqlite3数据库。开发工具选择PyCharm、Navicat、HBuilderX等。
 
  3.2实现过程
 
  3.2.1新建Django项目和应用,配置路由
 
  新建Django项目,在项目下新建应用,并新建一个Apps文件夹,将应用放至Apps文件夹。在项目的总路由文件中,配置路由导到应用下的子路由中,然后在每个子路由中配置资源的具体路由。

\
 
 
  3.2.2编写模型,生成数据库
 
  Django通过ORM(Object Relational Mapping,简称对象关系映射)生成和操作数据库。在项目配置文件中进行数据库的相关配置,然后定义模型,以景点模型为例,安装CKEditor和Pillow,实现富文件编辑和图片上传功能,景点模型定义如下:
 
  class Tourism(models.Model):
 
  title=models.CharField(verbose_name='景点标题',max_length=200)
 
  content=RichTextUploadingField(verbose_ name='内容')
 
  created=models.DateTimeField(verbose_ name='发表时间',auto_now add=True)
 
  updated=models.DateTimeField(verbose_ name='更新时间',auto_now=True)
 
  reading=models.IntegerField(verbose_name='浏览量',default=0,editable=False)
 
  likes=models.IntegerField(verbose_name='点赞数',default=0,editable=False)
 
  comments=models.IntegerField(verbose_ name='评论数',default=0,editable=False)
 
  keywords=models.CharField(verbose_name='标签',default='暂无标签',max_length=100)
 
  order=models.IntegerField(verbose_name='顺序',default=0)
 
  type=models.ForeignKey(TourismType,on_ delete=models.CASCADE,verbose_name='景点分类')
 
  images=models.FileField('图片',upload_to="static/upload_multi_img/")
 
  images_list=models.CharField('',max_length=10000)
 
  根据模型生成迁移文件,然后执行迁移文件,最终生成数据库。
 
  3.2.3使用Django自带后台管理数据
 
  在应用下的admin.py中注册模型和模型管理器,注册管理员帐号,进入Django自带后台,完成对数据的管理。
 
  3.2.4配置子路由,编写视图
 
  用户在浏览器输入地址(URL)后,路由会将这些URL映射到相应的视图函数上。视图一般完成数据逻辑相关的操作,例如通过形参对象来接收这些数据,然后存储到数据库中,最后再把执行的结果返回给浏览器。视图与URL的映射称为路由。
 
  以应用下的子路由配置为例,如下所示:
 
  aapp_name="tourism"
 
  urlpatterns=[
 
  path('',index,name='index'),
 
  path('list/<int:id>',tourism_list,name="list"),path('list/',tourism_list,name="tourism_list"),path('detail/<int:id>',details,name="details"),path('comment/',comments,name="comments"),
 
  path('tourism_like/',tourism_like,name="tourism_like"),
 
  path('comment_like/',comment_like,name="comment_like"),
 
  ]
 
  当用户单击景点列表页中的某个景点时,根据子路由下的路由配置,会映射到details这个视图函数,并将景点id传递给detaisl视图函数,detail视图函数如下:
 
  ef details(request,id):
 
  tourism_find=Tourism.objects.get(pk=id)
 
  tourism_find.reading+=1
 
  tourism_find.save_normal()
 
  context={'types':TourismType.objects.all().order_by('id')[:4],'tourism':tourism_find,'city':
 
  TourismType.objects.get(id=tourism_find.type_id)}#查找该篇文章的所有评论
 
  tourism_comments=Comment.objects.filter(tourism=tourism_find)#根据一端数据查找多端数据
 
  context["comments"]=tourism_comments name=request.POST.get("id")
 
  if name!=None and name!="":
 
  comments(request,id)
 
  page(request,context,"comments")
 
  contexts(context)
 
  return render(request,"tourism/content.html",context)
 
  details视图函数通过景点id获取景点信息,并获取该景点对应的评论信息,通过context对象传递给模板。
 
  3.2.5编写模板显示数据
 
  在项目下新建templates、static文件夹,并完成模板和静态文件的配置。然后把页面放在templates中,把静态文件放在static中。
 
  一般网站的头部、尾部是一样的,将网站的头部定义成header.html,将网站的尾部定义成footer.html,将header.html、footer.html包含在父模板base.html中,从而子模板不需要重复定义头部、尾部,而是继承父模板。父模板base.html的部分定义如下:
 
  {%include"header.html"%}
 
  {%block content%}{%endblock%}
 
  {%include"footer.html"%}
 
  在子模板中通过extends标签{%extends"base.html"%}继承父模板,并使用block标签填充预留区域的内容。
 
  在模板中使用通过contexts传入模板的数据对象来获取数据,从而渲染出用户看到的网页。
 
  4小结
 
  本文介绍了使用Django框架开发中国红色旅游推荐系统从需求分析、设计、到实现的整个开发过程。首先新建Django项目和应用,配置总路由;其次编写模型,通过ORM生成和操作数据库;接着注册管理员帐号登录Django后台管理模型数据;然后配置子路由和编写视图函数;最后编写模板渲染页面返回给用户。通过中国红色旅游推荐系统的开发:(1)培养了使用Django框架开发Python Web的能力,达到了综合使用Django知识和技能的训练目的,并积累了一定的Django Web项目开发经验;(2)通过搜索素材和实地探访,感受了家国情怀,传播了红色文化,传承了红色基因,增强了振兴中华的责任感和使命感;(3)借力中国红色旅游推荐系统宣传红色旅游资源,从而为乡村振兴贡献一份力量。
 
  参考文献
 
  [1]周许端.让红色文化助推乡村振兴—以周宁县革命老区村为例[J].中国民族博览,2022(5):119-121.
 
  [2]王军.基于Django的高校后勤库存管理系统设计实现[J].计算机时代,2022(7):59-61.
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/48704.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml