基于Django博客网站的设计与实现_第1页
基于Django博客网站的设计与实现_第2页
基于Django博客网站的设计与实现_第3页
基于Django博客网站的设计与实现_第4页
基于Django博客网站的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 基于基于 DjangoDjango 博客网站的设计与实现博客网站的设计与实现 The Design and Implementation of Blog WebsiteBased on Django 内容摘要内容摘要伴随计算机技术的迅速发展和普及,人们对在互联网上的社交需求、个人的展示都在不断的增强。博客是以网络为载体,简易迅速便捷发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的任性化展示于一体的综合性平台。通过创建博客网站来做到知识的积累和日常生活的记录,展现学识与个人魅力。拥有个人博客网站,也为自己今后的生活增色不少。这一博客系统使用了目前 Python 语言下多款不同的 W

2、eb 框架中最具有代表性的 Django 框架,并且采用 Bootstrap 前端框架,基本做到了响应式布局的界面,在软件的实现方面是采用结构清楚的三层架构思想,可以较大限度的保持软件各结构之间的松耦合关系。数据库方面是采用的 Django 默认使用的 Sqlite 数据库,由于 Django 框架中自带 ORM 框架,能够简单便捷地使用数据库。本系统界面简洁明了,使用轻松,操作简单,系统整体层次结构清晰,便于维护。网站的设计到实现的过程中,参考了当前活跃度较高的几个博客网站,例如博客中国、新浪博客和一些优质个人博客。本网站主要完成了当前博客所拥有的基础功能,如用户注册登录、评论功能、查看热门

3、博客功能等常用功能。关键词:关键词:博客网站 Python Django MVT Bootstrap SQLite AbstractWith the development and popularization of computer technology, peoples social needs and personal display on the Internet are constantly enhanced. Blog is the network as the carrier, simple, quick and convenient to publish their own e

4、xperience, timely and effectively easy to communicate with others, and then set a rich and colorful capricious display in one of the comprehensive platform. Through the creation of blog website to achieve the accumulation of knowledge and daily life record, show the knowledge and personal charm. Hav

5、e a personal blog site, but also for their future life grace many. This blog system using the Python language under many different Web frameworks of the most representative of the Django framework, and using the Bootstrap front-end framework, basic did it responsive layout of the interface, in the r

6、ealization of the software is the idea of structure clear three layer architecture, larger limit can remain loose coupling relationship between the software structure. The database is the default use of Django Sqlite database, because Django framework comes with the ORM framework, and you can easily

7、 use the database. The system interface is simple, easy to use, simple to operate, the overall system hierarchy is clear, easy to maintain.The design of the website to the realization of the process, we have referred to the current active several blog sites, such as blog China, sina blog and some qu

8、ality personal blog. This website mainly completed the current blog has the basic functions, such as user registration and login, comment function, view popular blog function and other common functions.Key Words: Blog website Python Django MVT Bootstrap SQLite目目 录录第一章第一章 绪论绪论.1 11.11.1 选题背景与意义选题背景与意

9、义 .1 11.21.2 国内外研究现状国内外研究现状 .1 11.2.1 国内研究现状.11.2.2 国外研究现状.21.2.3 发展趋势.31.31.3 设计方法与研究方案设计方法与研究方案 .3 31.41.4 章节安排章节安排 .3 3第二章第二章 关键技术介绍关键技术介绍.5 52.12.1 MVCMVC 设计模式设计模式.5 52.22.2 B/SB/S 结构结构.5 52.32.3 DJANGODJANGO 框架模式框架模式.6 62.42.4 BOOTSTRAPBOOTSTRAP 前端框架前端框架.7 7第三章第三章 系统需求分析系统需求分析.9 93.13.1 可行性分析可行

10、性分析 .9 93.1.1 经济可行性.93.1.2 技术可行性.93.1.3 运行可行性.93.23.2 需求分析需求分析 .10103.2.1 系统的构成部分.103.2.2 功能性需求.10第四章第四章 系统设计系统设计.13134.14.1 主要功能设计主要功能设计 .13134.1.1 主要功能模块.134.1.2 系统流程图.134.1.3 系统模块.154.24.2 数据库设计数据库设计 .15154.2.1 系统 ER 图.154.2.2 数据库表结构.16第五章第五章 系统的实现系统的实现.19195.15.1 用户注册登录模块用户注册登录模块 .19195.1.1 功能说明

11、.195.1.2 程序运行过程截图.205.25.2 博客列表和详情展示模块博客列表和详情展示模块 .22225.2.1 功能说明.225.2.2 程序运行过程截图.235.35.3 评论模块评论模块 .24245.3.1 功能说明.245.3.2 程序运行过程截图.255.45.4 热门博客推荐模块热门博客推荐模块 .26265.4.1 功能说明.265.4.2 程序运行过程截图.265.55.5 点赞模块点赞模块 .27275.5.1 功能说明.275.5.2 程序运行过程截图.285.65.6 用户信息模块用户信息模块 .29295.6.1 功能说明.295.6.2 程序运行过程截图.3

12、05.75.7 后台管理模块后台管理模块 .31315.7.1 功能说明.315.7.2 程序运行过程截图.31第六章第六章 系统测试系统测试.32326.16.1 测试目的测试目的 .32326.26.2 测试内容测试内容 .32326.36.3 测试用例测试用例 .32326.46.4 测试结果测试结果 .3535结论结论.3636参考文献参考文献.3737致谢致谢.3838广东东软学院本科毕业设计(论文)1第一章第一章 绪论绪论1.11.1 选题背景选题背景与意义与意义伴随计算机技术的迅速发展和普及,人们对在互联网上的社交需求、个性的展示需求都在不断的增强。博客的载体是网络,并且它是一个

13、综合性的平台,能够及时有效地与他人沟通,轻松有效的发表个人心得,以及展示自己的丰富人生等等。个人博客能够作用于三种不同的方向来使用:其一,用于拓展更广的社交媒体方式;其二,主体是个人主导的内容展示以及开放的学习交流平台;其三,主体是个人主导的散播优质相关资料内容库。许多人都将博客个人用作为一样用于学习的工具,因为其简单易用的特点,博客的普及率很高,人们对博客的兴趣也是越来越深。博客现在在许多领域都有所建树,发展迅速,如商业领域、公司内部、教育领域以及校园领域等,它是随着时代的需要而备受欢迎,从而也根据时代的需要延续着博客的积极精神内涵,不断发展进步的。使用 Django 框架进行博客系统的开发

14、,可以利用其简洁、清晰、高效、安全的优点,构建出一个开发效率较高的博客系统。从而实现一个能给人们带来称心的文化交流平台,给人们带来更好的服务和便利,最大限度的满足人们对于博客的需求。通过对于个人博客网站的探究与设计,做到能够用于日常生活的使用,为自己提供一个用于记录学习经验和技术交流的个人平台,从而更好的满足个人在学习方面的需求以及网络上人们期盼着拥有个人的知识平台的需求,同时也使得现有博客能够得到较好的补充,使得个人技术得到长足的沉淀与进步。1.21.2 国内外研究现状国内外研究现状1.2.1 国内研究现状自从 2002 年博客在中国出现以来,一些技术和创意企业一直在努力运用它们,并且让更多

15、的人接触到博客。2003 年的末尾,木子美在她的博客上发表了她的性爱日记,媒体纷纷报道,争先恐后的热议,随之激发了一场社交博客的风潮。后面的几年,博客逐渐在精英阶层、所有互联网用户和非互联网用户中传播,互联网用广东东软学院本科毕业设计(论文)2户中有约占 10%的用户都会使用博客,博客以更重要的地位走进社会人们的生活中。随后如 QQ 空间、新浪微博、网易博客等开始在国内开放,使用的用户越开越多,博客的应用渠道也越开越广。当时网易博客可谓是风靡一时,仅仅利用三年,它就做到了 9000 万之多的注册用户,直至 2010 年,网易博客都是国内顶尖的博客平台。从上面的数据中,明白地展示了博客的发展,也

16、说明了博客曾在人们的生活中有着很高的地位,随着中国互联网的发展,博客也曾朝气蓬勃的发展过。在 2005-2010 年间,博客的使用用户不断攀升,博客已逐渐成为人们生活中不可或缺的社交平台。我们现在使用的博客网站,它的几个特点如下:(1) 使用简便:这是博客受到如此多网民青睐的最大原因。使用简便体现在注册方便、选择博客模板、日志管理、添加及修改日志、个性设置等。它允许用户轻松地完成预操作,这样他们就可以轻松愉快地开始使用博客了。(2) 持续更新:博客的更新速度能够做到很快。可以轻易地保持日常更新博客。(3) 交互性强:互联网给了博客强大的开放性,以至于博客不单单是用于记录日常心得。通过开放的交流

17、,获得友谊,共同进步的益处。(4) 显示个性:博客是由博主自己创作出来的,用于展示的博文,自己的个性也能从博文其中展露无遗。个人的喜好、特色等都能得到很好的显现。1.2.2 国外研究现状1994 年 1 月:Justin Hall 开办 JustinS Home Page(Justin 的个人网页。),不久里面开始收集各种地下秘密的链接,这个重要的个人网站可以算是最早的博客网站之一。1997 年 4 月 1 日:Dave Winer 开始出版 scripting News。这个网站是由早期的 Davenet 演变而来。1997 年 12 月:Jorn Barger 最早用 weblog 这个术

18、语来描述那些有评论和链接而且持续更新的个人网站。1998 年 5 月 7 日:Peter Merholz 开始出版网站 petermecom(根据他自己的档案记录)。1998 年 9 月 15 日:Memepool 开始出版,最早的链接是关于“AlexChiuS Eternal Life Device”的。1之后,一个名为”Pitas”的用于博客站点的免费软件制作工具问世了,人们可以利用这个工具来进行博客站点的构建,使博客的构建变得快速,促进了博客产业的发展。后来,更多的开发者开发了更多的博客构建器,人们有了更多博客构建的工具,这对博客的发展是有非常重大的意义的。博客从此走向了黄金的发展阶段,

19、一副蓬勃生机的景象。广东东软学院本科毕业设计(论文)31.2.3 发展趋势虽然中国互联网目前的博客类的产品数量正在下降,但全球博客圈仍然生机勃勃。当今,由于有公众号、微博、短视频等快餐文化产品进入人们的视野,其简短、查看方便等优势慢慢地取代了博客。但是因为许多以内容和智力创造为中心的优秀作者仍然愿意坚守博客,博客还未倒下,向着内容化、质量化发展。现在商业化离博客越来越远,但是博客依靠着其的优质的价值观作者们的理想蓬勃发展。伴随着博客的发展,有关博客的理研究成果较为丰富。各类具有深度的博文和优质内容如春笋般迸发出来。1.31.3 设计方法与研究方案设计方法与研究方案这个系统是采用市面上较为流行的

20、 B/S 架构,下面开始讲解他的一些主要开发模式以及开发工具。操作系统:Windows10 中文版开发工具:JetBrains PyCharm 2019.1 x64程序语言:Python数据库:Django 框架内置的 SQLite3展示数据库的工具: SQLiteStudio选用框架技术:Django 框架 + Bootstrap1.41.4 章节安排章节安排该文总共是分为六个章节:第一章节是绪论。主要是叙述了研究的背景与意义,国内外研究现状,课题的发展趋势及研究方案。第二章节是介绍关键技术介绍,讲述了 MVC 设计模式.Django 框架,同时还有设备要求第三章节是系统需求分析,主要是对可

21、行性以及需求进行了相关的分析。第四章节是系统设计,关键是阐述了主要功能设计以及数据库设计。第五章是系统的具体功能说明,以及对各自对应的功能页面进行阐述。第六章是系统测试,简单阐述了测试目的,描述了测试内容,随后编写和执行测试用例,最后得出测试结果。广东东软学院本科毕业设计(论文)4第二章第二章 关键技术介绍关键技术介绍2.12.1 MVCMVC 设计模式设计模式MVC 是由 Model、View 及 Controller 三个部分所组成,相对应着的是模型、视图及控制器,它属于软件的一种设计模式,应用程序是以业务层-视图层-控制层三个模块的形式分成的。望文生义,它们三个部分在应用程序中的主要作用

22、如下:(1) 业务层:其负担着执行应用程序的业务逻辑,封装了处理数据的各类方法。它并不在意它会被视图层和控制器如何地进行相应的操作,它仅仅就接收数据并对其进行处理,然后将其处理结果返回。(2) 视图层:其负担着应用程序对用户的显示,它从用户那里获取输入数据并通过控制层传给业务层处理,然后再通过控制层获取业务层返回的结果并显示给用户。(3) 控制层:其负担着应用程序的流程控制,从视图层传送来的数据被它接收,然后采用业务层中的某个业务来进行处理,并选择视图层中的某个视图来展示从业务层收到的返回结果。MVC 有着三个模块,它们三者各自的关系如图 2.1 所示。图 2.1 MVC 三个模块的关系图2.

23、22.2 B/SB/S 结构结构B/S 结构,也被称为 B/S 模式,其中 B 代表的是 Brower,即浏览器,S 代表Server,即服务器。是 Internet 盛行之后由 C/S 架构演变而来的结构。Web 浏览器是客户端所有软件中最主要的。B/S 该结构是由三个部分组成的,第一部分是浏览器,就是客户端。它几乎没广东东软学院本科毕业设计(论文)5有事务逻辑,唯有 Input/Output(输入/输出)的简单功能。第二部分是 Web 服务器。它充当着信息的发送者。当用户对数据库进行访问时,首先发送请求送给 Web 服务器,Web 服务器作为中介发送请求给数据库服务器,以达到对数据库进行访

24、问的目的。第三部分是数据库服务器,它包含大量的数据,当数据库服务器接收到来自于 Web 服务器的相关请求时,它处理相应的 SQL 语句并向 Web 服务器发送返回的结果,最后浏览器就会接收到对应的 HTML 文本,该文本是由 Web 服务器转化收取到的结果数据而成的。2.2.3 3 DJANGODJANGO 框架模式框架模式Django 框架是由 Python 编写的开源 Web 框架,其完善程度之高成就了它的构建网页的能力。基于 MVC 模型的 Django 框架,是 Model、View 及 Controller 的设计模式,因此继承了 MVC 的优势:开发便捷、复用率高、部署简单、维护成

25、本低等。因为其设计、开发简单等特点,所以部署网站的最佳组合非 Python 加 Django框架莫属。Django 框架的设计模式对 MVC 框架的思想进行了借鉴并做出修改,视图的部分修改为成为两部分,组成部分变为 Template 模块以及 View 模块,对应着的是处理逻辑(动态)以及展现网页(静态) 。而 Model 则是采取 ORM 的技术,类操作取代了表操作,使用面对对象的 Python 类,不用进行编写繁杂的 SQL 语句也能轻松对数据库进行操作。MTV 本质上是和 MVC 是相同的。Django 框架的 MVT 模型结构如图 2.2 所示。图 2.2 MTV 模型结构图广东东软学

26、院本科毕业设计(论文)6(1) 路由(URLs):URL 映射器用于根据请求 URL 将 HTTP 请求转到相应的视图。(2) 视图(Views):视图是一个请求处理函数,它接收 HTTP 请求并返回 HTTP响应。视图通过模型访问满足请求所需的数据,模板将会收到视图的返回的响应格式。(3) 模型(Models):模型是定义应用程序数据结构的 Python 对象,并提供在数据库中管理(添加,修改,删除)和查询记录的机制。(4) 模板(Templates):模板是定义文件(例如 HTML 页面)的结构或布局的文本文件,用于表示实际内容的占位符。2.42.4 BOOTSTRAPBOOTSTRAP

27、前端框架前端框架Bootstrap 是集 HTML、CSS 及 JS 的前端框架,由于其简易上手,深受大家的青睐。Web 项目中需要响应式布局或者优先移动设备的是优先考虑使用其进行开发的。基于 Bootsrap 建设和设计的网站在全世界有百万之多。在前端开发中,使用 Bootstrap 能够更快速和简单地进行开发。快速上手,不同的设备下适配性强及不同的项目下适用性强都是该框架的特点。(1) 预处理脚本:开发者能够选择 Bootstrap 上的 CSS 样式表进行开发,如果想要更迅速的开发还可以运用预编译的 CSS 文件,再或者是根据自己的需求,对源码进行修改,自定义样式。其中 Less 和 S

28、ass 利用开发者最喜欢使用的 CSS 预处理脚本开发出了 Bootstrap 的源码。(2) 一个框架、多种设备:由于存在 CSS 媒体查询,你的网站和应用能在Bootstrap 的帮助下通过一份代码有效、快速地适配 PC、平板、手机设备。(3) 种类多样的特性:Bootstrap 提供了周全的官方文档,所有由 HTML 元素的、HTML 搭配 CSS 的组件以及 JQuery 插件等等,你都可以在 Bootstrap 的官方网站内站到。(4) 开源:Bootstrap 是完全开源的,能够在使用该框架的同时,还能够对其改进和添加新功能。它的代码托管、开发及维护都是依附于 GitHub 平台。

29、广东东软学院本科毕业设计(论文)7第三章第三章 系统需求分析系统需求分析3.3.1 1 可行性分析可行性分析3.1.1 经济可行性本系统作为毕业设计,即对四年内的所学知识的综合实践。博客网站的实现所需一台能够进行开发的电脑,服务器则是直接使用 Django 框架自带的调试服务器,数据库是选择免费简洁的 Sqlite 数据库。所以本次的博客网站完全具备经济可行性。3.1.2 技术可行性本系统的开发语言是使用 Python 语言的,这是因为 Python 属于解释性语言,相比较于其他的编程语言,上手难度较低,语言简单易懂。并且开发效率非常高,因为 Python 拥有十分强大的第三方库,拥有可移植性

30、,可拓展性等优势。 本次使用的 Django 框架,拥有强大的数据库功能,自带后台的功能,MVT 框架思想能够让各个功能模块之间的耦合有所降低,方便于代码的重构,最大限度上实现代码的重用。因此,本系统的也具备技术可行性。3.1.3 运行可行性本系统是基于 Python 语言的博客网站,Python 语言具有可移植性,所以只要我们在 Windows 系统下安装好对应的 Python 和 Django 版本及依赖环境,我们即可运行 Django 网站,SQLite 数据库可以在 Windows 中运行,市面上目前普遍的电脑配置都在 4G 内存加 500G 硬盘,本系统是能够流畅运行的。因此,本系统

31、的也具备运行可行性。3.23.2 需求需求分析分析3.2.1 系统的构成部分系统的功能模块被分为七个,如下所示:广东东软学院本科毕业设计(论文)8(1) 用户注册登录模块:该模块目的是让普通用户进行登录、注册、登出等用户及账号管理相关的操作,拥有后台管理权限的账号能够在主页进入后台管理界面。(2) 博客列表和详情展示模块:主要是针对博客展示的相关功能,其中主要包含博客列表的展示、博客详情页的展示、博客类型等功能。(3) 评论模块:主要对注册用户在所看博客下进行评论。功能有添加评论。(4) 点赞模块:此模块主要针对注册用户在所在博客下进行点赞和评论下点赞操作。其中包含点赞的添加和减少。(5) 热

32、门博客推荐模块:详细来说,这一部分的内容是热门博客推荐的功能,基本涉及到阅读计数统计和显示、热门阅读博客的排行等功能。(6) 用户信息模块:主要对用户的个人资料进行相关管理。涉及到用户后台信息的操作,例如修改密码、修改昵称等。(7) 后台管理模块:主要是让拥有相关权限的管理员能够在后台管理界面进行后台信息的增删改操作。这一部分有博客添加、博客管理、用户管理及评论管理等功能。个人博客系统其功能模块,如图 3.1 所示:图 3.1 个人博客系统-功能模块图3.2.2 功能性需求(1) 用户注册登录模块:表 3.1 用户注册模块模块名称:用户注册登录模块标识:A1说明:该模块提供给用户注册登录功能。

33、其中涉及到的操作有以下几种:用户注册:用户需要就用户名称(用户名) ,用户密码,用户 Email 进行填写。用户校验:后台对用户填写的数据进行相应的校验,当校验成功(合法)则将用户信息导入数据库,完成注册。广东东软学院本科毕业设计(论文)9后台自动填写用户数据:后台对用户的:用户编号,用户上次登录时间,用户权限,用户注册时间,用户状态进行自动填写操作。用户登录:用户通过输入用户名称(用户名)和密码进行登陆。用户信息检验:检验账号、密码是否正确匹配数据库中的某个用户,如果均匹配则返回这个 user 对象,将用户数据保存到 session 中,即实现了登录动作。(2) 博客列表和详情展示模块:表

34、3.2 博客列表和详情展示模块模块名称:博客列表和详情展示模块标识:A2说明:该模块是博客列表页面和博客详情页面,展示给用户博客列表和博客详情。其中可能涉及到的操作有以下几种:用户点击博客主体:用户点击博客列表中的一篇博客将跳转到对应博客的详情页面。用户校验:后台对用户填写的数据进行相应的校验,当校验成功(合法)则将用户信息导入数据库,完成注册用户点击博客下方的发表用户:界面跳转到此用户的用户详情页。用户点击博客列表右边的分类板块:界面跳转到对应分类的版块。(3) 评论模块:表 3.3 评论模块模块名称:评论模块标识:A3说明:该模块是在博客详情页内的,用于在博客下用户之间进行沟通。其中涉及到

35、的操作有以下几种:用户在下方的富文本框内输入评论内容:对发送按钮进行点击后将会给此博客发表一条评论。用户针对评论实施回复:点击回复按钮,输入回复在富文本框中,对发送按钮进行点击后将给此评论回复一条评论。(4) 点赞模块:表 3.4 点赞模块模块名称:点赞模块标识:A4说明:该模块是在博客详情页面的,用于用户对文章的点赞和对评论的点赞。其中涉及到的操作有以下一种:广东东软学院本科毕业设计(论文)10 用户点击博客文章下方的点赞按钮:将增加博客的点赞数。 用户点击评论下方的点赞按钮:将增加评论的点赞数。(5) 热门博客推荐模块:表 3.5 热门博客推荐模块模块名称:博客详情模块标识:A5说明:该模

36、块是在网站首页的,用于展示该网站的热门博客。其中涉及到的操作有以下一种:用户点击博客文章:用户可以跳转到此博客的详情页面。(6) 用户信息模块:表 3.6 用户信息模块模块名称:用户信息详情模块标识:A6说明:该模块提供给用户查看用户个人的具体信息的页面其中涉及到的操作有以下几种:用户点击用户名下拉框中的个人资料:进入到个人信息模块的界面,可以添加或修改昵称、修改密码的操作。管理权限的用户点击用户名下拉框中的后台管理:进入到后台管理界面,进行博客管理、用户管理等操作。(7) 后台管理模块:表 3.7 后台管理模块模块名称:后台管理模块标识:A7说明:提供给管理权限的用户管理后台的功能。其中涉及

37、到的操作有以下几种:博客管理:对博客进行添加、删除和修改的操作。用户管理:对该网站下的用户进行修改权限、修改昵称等操作。评论管理:对评论进行添加、删除和修改的操作。广东东软学院本科毕业设计(论文)11第四章第四章 系统设计系统设计4.4.1 1 主要功能设计主要功能设计4.1.1 主要功能模块(1) 用户注册登录模块(2) 博客列表和详情展示模块(3) 评论模块(4) 热门博客推荐模块(5) 点赞模块(6) 用户信息模块(7) 后台管理模块系统的实现其各个模块关系如图 4.1 所示图 4.1 博客系统模块关系图用户账号完成注册,且登录成功后,即可以进行对对应的几个功能模块进行操作,如热门博客推

38、荐模块、博客列表和详情展示模块、评论模块、点赞模块、用户信息模块。未注册的用户只允许使用热门博客推荐模块、博客列表和详情展示模块。4.1.2 系统流程图此博客系统流程如图 4.2 所示。广东东软学院本科毕业设计(论文)12图 4.2 博客系统流程图当用户访问该网站的主页时,能够浏览热门博客推荐,并且能够浏览博客列表和博客详情页面,当用户需要对博客进行评论、点赞等需要账户的操作时,会需要用户进行账号登录操作,如果没有该网站的账号,需要进行注册操作,完成注册后再进行登录操作,完成登录操作后能够进行相应的操作,如:进行评论、进入个人信息并对其个人信息进行修改、添加等操作过程。并且拥有后台管理权限的账

39、号,能够进入后台管理系统,对相关数据进行增加、修改、删除的操作。广东东软学院本科毕业设计(论文)134.1.3 系统模块(1) 用户注册登录模块:该模块主要是为普通用户提供注册、登录、账号管理、登出等用户相关的操作,拥有后台管理权限的账号能够在主页进入后台管理界面。(2) 博客列表和详情展示模块:主要是针对博客展示的相关功能,其中主要包含博客列表的展示、博客详情页的展示、博客类型等功能。(3) 评论模块:主要对注册用户在所看博客下进行评论。功能有添加评论。(4) 点赞模块:此模块主要针对注册用户在所在博客下进行点赞和评论下点赞操作。其中包含点赞的添加和减少。(5) 热门博客推荐模块:详细来说,

40、这一部分的内容是热门博客推荐的功能,基本涉及到阅读计数统计和显示、热门阅读博客的排行等功能。(6) 用户信息模块:这一部分的相关功能是管理用户的个人信息。涉及到用户后台信息的删除、修改和添加操作。(7) 后台管理模块:主要是对超级管理员在后台管理界面进行后台信息的增删改操作。这一部分有博客添加、博客管理、用户管理及评论管理等功能。4.24.2 数据库设计数据库设计4.2.1 系统 ER 图本系统的实体包括博客数据实体(blog) 、用户数据实体(user) 、评论实体(comment) 、阅读计数实体(read_statistics) 、点赞实体(likes) 。系统 ER 图如图4.3 所示

41、。图 4.3 系统 ER 图广东东软学院本科毕业设计(论文)144.2.2 数据库表结构该系统数据库表结构如表 4.1-4.8 表描述。表 4.1 博客信息表名称名称数据类型数据类型允许空允许空说明说明idinteger否博客 idtitlevarchar(50)否博客标题avatarvarchar(100)否博客封面图contenttext否博客正文created_timedatetime否创建时间last_updated_timedatetime否更新时间author_idinteger否作者 idblog_type_idinteger否博客类型 id表 4.2 博客类型表名称名称数据类型

42、数据类型允许空允许空说明说明type_namevarchar否类型名称表 4.3 评论表名称名称数据类型数据类型允许空允许空说明说明idinteger否评论 idobject_idinteger unsigned否模型对应表的 idtexttext否内容comment_timedatetime否评论时间content_type_idinteger否跟 ContentType 表做外键关联parent_idinteger是记录上一级评论的主键值reply_to_idinteger是被回复人的 idroot_idinteger是根评论user_idinteger否评论账号 id广东东软学院本科毕业

43、设计(论文)15表 4.4 文章点赞表名称名称数据类型数据类型允许空允许空说明说明idinteger否点赞 idobject_idinteger unsigned否模型对应表的 idlike_numinteger否点赞数量content_type_idinteger否跟 ContentType 表做外键关联表 4.5 回复点赞表名称名称数据类型数据类型允许空允许空说明说明idinteger否点赞 idobject_idinteger unsigned否模型对应表的 idlike_timedatetime否点赞日期content_type_idinteger否跟 ContentType 表做外键

44、关联user_idinteger否用户 id表 4.6 当天阅读数量表名称名称数据类型数据类型允许空允许空说明说明idinteger否阅读数量 iddatedate否阅读日期read_numinteger否阅读数量object_idinteger unsigned否模型对应表的 idcontent_type_idinteger否跟 ContentType 表做外键关联表 4.7 总阅读数量表名称名称数据类型数据类型允许空允许空说明说明idinteger否阅读数量 idread_numinteger否阅读数量object_idinteger unsigned否模型对应表的 idcontent_t

45、ype_idinteger否跟 ContentType 表做外键关联广东东软学院本科毕业设计(论文)16表 4.8 用户表名称名称数据类型数据类型允许空允许空说明说明idinteger否useridpasswordvarchar(128)否密码last_logindatetime是最后登录时间is_superuserbool否是否有所有站点的权限usernamevarchar(150)否用户名emailvarchar(254)否邮箱is_staffbool否是否有后台管理的权限is_activebool否标识用户是否 activedate_joineddatetime否创建时间广东东软学院本科

46、毕业设计(论文)17第五章第五章 系统的实现系统的实现5.15.1 用户注册登录模块用户注册登录模块5.1.1 功能说明(1) 用户注册模块用户通过点击博客主页上导航栏上的注册按钮进行注册,填写相应的注册信息。提供给用户注册这一个功能。使用 form 表单对注册界面进行设计,用户在点击导航栏按钮后进入注册界面,让用户进行相关信息填写,当用户填写完邮箱,需要点击“发送验证码”的按钮,对应邮箱收到验证码后,将验证码填写进去后,点击注册按钮,所有信息验证通过后完成登录并载入首页。具体的实现代码如下图 5.1 所示:图 5.1 注册功能广东东软学院本科毕业设计(论文)18(2) 用户登录模块用户通过点

47、击博客主页上导航栏上的登录按钮进行登录,填写相应的登录信息。提供给用户登陆这一个功能。使用 form 表单对登录界面进行设计,用户在点击导航栏按钮后进入注册界面,让用户进行相关信息填写,当用户输入完信息后,点击登录按钮,信息校验成功后完成登录操作并载入对应界面。具体的实现代码如下图 5.2 所示:图 5.2 登录功能5.1.2 程序运行过程截图(1)用户注册页面:广东东软学院本科毕业设计(论文)19图 5.3 用户注册页面图 5.4 用户注册收到验证码详情页面图 5.5 用户注册完成后登录页面(2)用户登录页面:广东东软学院本科毕业设计(论文)20图 5.6 用户登录页面图 5.7 用户登录完

48、成页面5.25.2 博客列表和详情展示模块博客列表和详情展示模块5.2.1 功能说明(1) 博客列表模块用户通过点击博客主页上导航栏上的博客栏目进入博客列表页面,查看最新的博客列表,博客顺序为时间顺序,每页最多展示七篇博客。提供给用户查看博客列表这一个功能。用户在点击导航栏博客栏目后进入博客列表界面,该界面有三部分组成,分别是博客列表、博客分类和日期归档。用户可以知道该博客网站所拥有博客总数量。具体的实现代码如下图 5.8 所示:广东东软学院本科毕业设计(论文)21图 5.8 博客列表展示(2) 博客详情展示模块用户通过点击博客列表页面上的博客列表进入博客详情页面,查看对应博客文章的具体内容。

49、提供给用户查看博客文章具体内容这一个功能。用户在点击导航栏博客列表进入博客详情界面,该界面有两部分组成,分别是博客正文、评论内容。用户可以在该界面浏览博客文章。具体的实现代码如下图 5.9 所示:图 5.9 博客列表展示5.2.2 程序运行过程截图(1) 博客列表页面: 广东东软学院本科毕业设计(论文)22图 5.10 博客详情展示页面(2) 博客详情展示页面: 图 5.11 博客详情展示页面5.35.3 评论模块评论模块5.3.1 功能说明提供给用户在博客下方进行评论的功能,在博客页面中的博客正文结束下方,显示该博客的评论版块。 ,让用户能够查看该博客的相关评论和进行评论,增加用户之间的交流

50、。具体的实现代码如下图 5.12、图 5.13 所示:广东东软学院本科毕业设计(论文)23图 5.12 评论功能图 5.13 评论功能5.3.2 程序运行过程截图 评论模块:广东东软学院本科毕业设计(论文)24图 5.14 评论模块5.45.4 热门博客推荐模块热门博客推荐模块5.4.1 功能说明给用户展示最近七日博客阅读量的变化,并且显示今日热门博客,昨天热门博客和七日内热门博客的推荐。具体的实现代码如下图 5.15 所示:图 5.15 热门博客推荐5.4.2 程序运行过程截图热门博客推荐页面:广东东软学院本科毕业设计(论文)25图 5.16 热门博客推荐页面5.55.5 点赞模块点赞模块5

51、.5.1 功能说明此模块主要针对注册用户在所在博客下进行点赞和评论下点赞操作。其中包含点赞的添加和减少。具体的实现代码如下图 5.17 所示:广东东软学院本科毕业设计(论文)26图 5.17 点赞功能5.5.2 程序运行过程截图点赞功能:广东东软学院本科毕业设计(论文)27图 5.18 点赞功能5.65.6 用户信息模块用户信息模块5.6.1 功能说明用户登录成功后,通过点击博客主页上导航栏上的用户名可以进入个人资料界面对个人信息进行访问,并且可以对个人资料如昵称、密码进行修改。具体的实现代码如下图 5.19 所示:广东东软学院本科毕业设计(论文)28图 5.19 用户信息5.6.2 程序运行

52、过程截图用户信息详情页面:广东东软学院本科毕业设计(论文)29图 5.20 用户信息页面5.75.7 后台管理模块后台管理模块5.7.1 功能说明超级管理员在后台管理界面进行后台信息的增删改操作。这一部分有博客添加、博客管理、用户管理及评论管理等功能。5.7.2 程序运行过程截图后台管理页面:图 5.21 后台管理页面广东东软学院本科毕业设计(论文)30第六章第六章 系统测试系统测试系统测试,是对整个已经确认的系统进行测试,将计算机硬件、已完成的软件、操作人员、网络等其他元素结合起来,检查他是否有与系统说明说不相符的地方。这样的测试可以及时发现系统分析和系统设计中的错误,确定软件质量。6.16

53、.1 测试目的测试目的软件系统测试的主要目的有以下几个方面:(1) 找到被测试的对象与用户需求之间存在的不同点,及时发现问题。(2) 证明系统的功能和性能符合需求说明。(3) 得到测试数据结果作为系统的可靠性分析的依据。(4) 最后,测试并不能为了找出系统所存在的 Bug,而是为了在有限的时间内提高系统的质量,达到用户的接受标准。6.26.2 测试内容测试内容测试内容重点是单元测试,测试的对象是系统设计的各个功能模块,分别测试各个模块,确定各个功能模块是否符合需求标准,并且找出不符合用户需求的功能点。6.36.3 测试用例测试用例测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结

54、果,以便测试某个程序路径或核实是否满足某个特定需求。(1) 用户注册登录模块: 表 6.1 登录界面用例测试测试单元测试单元测试页面测试页面包含功能包含功能输入输入期望结果期望结果是否符合标是否符合标准准用户登录login.html用户登录正确的用户名密码登录成功,跳转至博客热门主界符合预期广东东软学院本科毕业设计(论文)31测试单元测试单元测试页面测试页面包含功能包含功能输入输入期望结果期望结果是否符合标是否符合标准准面正确的用户名,错误的密码密码错误符合预期错误的用户名(为空或错误)用户名错误符合预提表 6.2 注册界面用例测试测试单元测试单元测试页面测试页面包含功能包含功能输入输入期望结果期望结果是否符合标是否符合标准准正确的用户名、密码、重复确认密码和邮箱验证码注册成功,登录状态并进入首页符合预期错误的用户名(为空或错误)清填写正确的用户名符合预期错误的邮箱(为空或错误)请填写正确的邮箱符合预提错误的密码(为空或错误)请填写正确的密码符合预期错误的重复密码(为空或错误)请填写一致的密码符合预期用户注册register.html用户注册错误的邮箱验证码请填写正确的邮箱验证码符合预期广东东软学院本科毕业设计(论文)32(2) 博客列表和详情展示模块:表 6.3 博客列表界面

温馨提示

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

评论

0/150

提交评论