个人博客网站系统的设计与实现
摘 要
本文详细阐述了一个,个人博客网站系统的设计与实现过程。该系统旨在提供一个功能完善、用户友好的博客平台,使博主能够轻松创建、管理和分享自己的博客内容,同时为读者提供便捷的阅读和互动体验。
在设计阶段,我们充分考虑了系统的功能需求、用户体验和可扩展性。通过深入分析用户需求,我们确定了博客系统的核心功能,包括文章发布、分类管理、评论互动、用户认证等。同时,我们注重界面设计,力求打造一个简洁、直观、易于操作的用户界面,以提升用户体验。
在实现阶段,我们采用了前端技术与后端技术相结合的方式,完成了系统的开发和部署。前端部分主要使用了HTML、CSS和JavaScript等技术,实现了页面的布局、样式和交互效果。后端部分则采用了Django框架和Mysql数据库,实现了文章管理、用户认证、评论处理等功能。在开发过程中,我们注重代码的可读性、可维护性和可扩展性,以确保系统的稳定性和可持续发展。
通过本次个人博客网站系统的设计与实现,我们深入理解了网站开发的全过程,掌握了相关技术和工具的使用方法。同时,该系统也为广大博主和读者提供了一个高质量的博客平台,促进了知识的分享和交流。
关键词:个人博客网站系统的设计与实现,django,Mysql
Design and implementation of the personal blog website system
ABSTRACT
This paper elaborated the design and implementation process of a personal blog website system. The system is designed to provide a versatile, user-friendly blog platform that enables bloggers to easily create, manage and share their blog content, while providing readers with a convenient reading and interactive experience.
In the design stage, we fully consider the functional requirements, user experience and scalability of the system. Through an in-depth analysis of user needs, we have identified the core functions of the blog system, including article publishing, classification management, comment interaction, user authentication, etc. At the same time, we pay attention to the interface design, and strive to create a simple, intuitive, easy-to-operate user interface, to improve the user experience.
In the implementation stage, we adopted the combination of front-end technology and back-end technology to complete the development and deployment of the system. The front-end section mainly uses HTML, CSS and JavaScript technologies to realize the layout, style and interaction of the page. In the back-end part, the Django framework and the Mysql database are adopted to realize the functions of article management, user authentication, comment processing and so on. During the development process, we focus on the readability, maintainability, and scalability of the code to ensure the stability and sustainability of the system.
Through the design and implementation of the personal blog website system, we have a deep understanding of the whole process of website development, and mastered the use of relevant technologies and tools. At the same time, the system also provides a high-quality blog platform for bloggers and readers to promote the sharing and exchange of knowledge.
Keywords: design and implementation of personal blog website system, django, Mysql
目录
Design and implementation of the personal blog website system
1.1设计目标
个人博客网站系统的设计目标主要围绕用户体验、功能实现、技术稳定性和可维护性等方面。以下是一些常见的设计目标:
1. 用户体验:设计一个用户友好的界面,使得用户能够轻松浏览、发布和管理博客内容。确保网站具有良好的导航结构和清晰的布局,使用户能够快速找到所需的信息。
2. 功能实现:提供博客文章发布、编辑和删除等基本功能,同时支持图片、视频和音频等多媒体内容的上传和展示。此外,还可以考虑添加评论、点赞、分享等社交功能,增加用户之间的互动。
3. 技术稳定性:确保网站在高并发访问下能够稳定运行,避免出现崩溃或性能下降等问题。采用成熟、可靠的技术架构和数据库设计,确保系统的可扩展性和可维护性。
4. 安全性:保护用户数据和隐私安全是设计个人博客网站时的重要考虑因素。采用加密技术、安全认证和访问控制等手段,防止数据泄露和非法访问。
5. 可维护性:方便开发人员对系统进行维护和升级,确保网站能够持续稳定运行。采用模块化设计、清晰的代码结构和良好的文档支持,降低维护成本和提高开发效率。
综上所述,个人博客网站系统的设计目标应综合考虑用户体验、功能实现、技术稳定性和可维护性等方面,为用户提供一个功能强大、安全可靠的博客平台。
1.2背景及意义
随着信息技术的飞速发展和互联网的普及,网络已经成为人们获取信息、分享见解和记录生活的重要平台。在这样的时代背景下,博客(Blog)作为一种自媒体形式,为个人提供了一个自由发表观点和记录日常生活的渠道。从早期的文字博客到后来的图片博客,再到现在的视频博客和多媒体博客,博客的形式和内容都在不断地丰富和演变。
然而,当前市场上的博客系统大多面向大众用户,缺乏个性化和定制化。许多用户希望能够有一个属于自己的博客空间,能够根据自己的喜好和需求进行定制,从而更好地展现自己的个性和风格。因此,开发一个功能强大、易于定制的个人博客网站系统显得尤为重要。
个人博客网站系统允许用户根据自己的喜好和需求进行定制,包括主题、模板、字体、颜色等,从而打造出一个独特的博客空间,满足用户的个性化需求。
博客作为一种自媒体形式,具有信息共享和交流的特点。通过个人博客网站系统,用户可以分享自己的知识、见解和经验,与他人进行交流和学习。
博客不仅是一个信息分享平台,也是一个生活记录平台。用户可以通过博客记录自己的日常生活、心情变化、学习成长等,留下宝贵的回忆。
通过定期发布高质量的内容,用户可以在个人博客上建立自己的品牌和影响力,吸引更多的关注和粉丝。
个人博客网站系统的普及和应用,将促进网络文化的发展和创新。用户可以通过博客表达自己的观点和情感,推动网络文化的多元化和包容性。
综上所述,个人博客网站系统的设计与实现不仅满足了用户的个性化需求,促进了信息共享与交流,还为用户提供了一个记录生活和提升个人品牌的平台。同时,它也推动了网络文化的发展和创新,具有深远的社会意义和价值。
1.3研究现状
随着Web技术的不断发展和普及,个人博客网站系统已成为许多人展示自我、分享知识和交流思想的平台。目前,市场上存在多种个人博客网站系统,这些系统在设计与实现过程中,逐渐展现出以下几个方面的开发现状:
早期的个人博客系统多基于传统的Web开发技术,如PHP、ASP等,搭配MySQL等数据库实现后端数据存储。随着前端技术的崛起,如React、Vue.js等前端框架的广泛应用,现代的个人博客系统更加注重前后端分离的开发模式,后端提供API接口,前端通过Ajax等技术异步获取数据,实现页面的动态渲染。
随着设计理念的更新,个人博客系统的界面设计越来越注重用户体验。简洁、直观、响应式的界面设计成为主流,同时,系统还提供了丰富的主题和模板供用户选择,以满足用户个性化的需求。
除了基本的博客文章管理功能外,现代的个人博客系统还整合了社交功能,如评论、点赞、分享等,增强了用户之间的互动。同时,为了提升博客的曝光度和影响力,许多系统还提供了数据统计、多平台发布等功能。
随着网络安全问题的日益突出,个人博客系统的安全性受到了前所未有的关注。系统开发者在设计和实现过程中,需要考虑到各种安全漏洞和攻击手段,如SQL注入、跨站脚本攻击等,并采取相应的防护措施。同时,为了保证系统的稳定运行,开发者还需要进行压力测试和性能优化,确保在高并发场景下系统仍能保持稳定。
综上所述,个人博客网站系统的设计与实现正在不断地演进和完善。随着技术的不断进步和用户需求的不断变化,未来的个人博客系统将会更加成熟、稳定、安全和易用。
1.4论文组成结构
论文整体分为六个章节模块:第一章介绍设计目标,研究背景以及意义,研究现状,介绍采用的相关技术还有使用的开发方法,第二章主要是描述的是系统需求分析,第三章的系统总体设计,第四章主要是整个系统的实现过程,最后一章是系统测试方法以及测试结果的记录与描述。
1.5 相关技术
1.5.1 B/S体系工作原理
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
1.5.2 Django框架介绍
Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Django框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:
2.3.1 用于创建模型的对象关系映射;
2.3.2 为最终用户设计较好的管理界面;
2.3.3 URL 设计;
2.3.4 设计者友好的模板语言;
2.3.5 缓存系统。
Django(发音:[`dʒæŋɡəʊ]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于2005年7月, 并于2008年9月发布了第一个正式版本1.0 。
Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。
由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者。
JSP可以放在html里使用,也可以独自使用,它同时也具备有很多种优点,可以讲,Web脚本技术的先驱是JSP。现代编程语言(像C,python和Perl等)的一些最好的特点都融合在JSP里,Web服务器里的一些配置标准是由JSP、Tomcat和数据库等的组合在一起的。
1.5.3 MySQL数据库
MySQL经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常实用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的疫情数据可视化系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对疫情数据可视化系统后台数据进行存储操作[9][10]。
数据库管理系统的总体结构图如下图所示。

图1-1 数据库组成结构
第2章 系统需求分析
2.1 需求分析
随着网络技术的飞速发展,个人博客作为信息交流与知识分享的重要平台,日益受到广大用户的青睐。个人博客网站系统的设计与实现旨在为用户提供一个功能齐全、操作便捷、信息丰富的在线博客管理平台。本文将从系统性能分析、业务流程分析、数据需求分析等方面对个人博客网站系统的设计与实现进行详细的需求分析。
用户注册与登录:用户可以通过系统注册成为会员,并通过用户名和密码登录系统。系统应提供找回密码、记住密码等便捷功能。
博客创建与编辑:用户可以在系统中创建新的博客,并对博客进行编辑、排版等操作。系统应提供丰富的文本编辑工具,支持插入图片、视频、链接等多媒体内容。
博客发布与分享:完成编辑后,用户可以将博客发布到个人主页,并分享到各大社交平台。系统应支持一键分享功能,方便用户快速传播内容。
评论与互动:用户可以在博客下方发表评论,与其他用户进行互动。系统应对评论进行审核,确保信息的质量和安全。
用户数据:系统应存储用户的基本信息,包括用户名、密码、邮箱、手机号等。同时,系统应对用户数据进行加密处理,确保数据安全。
博客数据:系统应存储博客的标题、内容、发布时间、点赞数、评论数等信息。同时,系统应对博客数据进行备份和恢复,以防止数据丢失。
评论数据:系统应存储评论的内容、发布时间、评论者信息等。同时,系统应对评论数据进行审核和管理,确保信息的真实性和合法性。
通过对个人博客网站系统的设计与实现的需求分析,我们可以明确系统的性能要求、业务流程和数据需求。这将为系统的设计和开发提供有力的支持,确保系统能够满足用户的实际需求,并提供一个稳定、安全、易用的在线博客管理平台。
2.2 系统可行性分析
2.2.1技术可行性
本系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用django开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
系统管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全和数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
2.2.2经济可行性
在个人博客网站系统的设计与实现开发之前所做的市场调研及其他相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有工作都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于个人博客网站系统的设计与实现的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于django的开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。
2.2.3操作可行性:
可操作性主要是对个人博客网站系统的设计与实现设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于系统管理员、用户两种角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作过程使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
2.3 系统功能需求
按照个人博客网站系统的设计与实现的角色,主要包括管理员和普通用户这两大功能模块,各模块功能内容如下:
- 管理员功能
- 登录:管理员在后台可以通过账号和密码进行登录,管理员的账号和密码是在数据库中直接设定的,如果忘记密码可以点击“忘记密码”进行密码找回。
- 系统用户:管理员可以对系统用户信息进行查询、重置、添加和删除操作。
- 博客文章管理:管理员可以对博客文章进行查询、重置、添加和删除操作。
- 标签分类管理:管理员可以对标签分类管理进行查询、重置、添加和删除操作。
- 系统管理:管理上传、编辑和管理在首页展示的轮播图片,用于重要信息展示
- 通知公告管理:管理员进行发布和管理与网站公告相关的通知和公告,确保及时传达重要信息给用户。
- 留言管理:功能为管理员提供了便捷、高效的管理工具,确保留言的规范性和及时性。
- 普通用户功能模块
- 首页:普通用户可以查看首页展示的轮播图、博客文章、通知公告等信息。
- 注册登录:在系统的右上角有登录+注册按钮,如果用户想要登录到系统当中,可以点击“登录”按钮,然后填写用户名+密码,点击“登录”按钮,系统会对你的用户名和密码进行核对,正确的话就会登录成功了,如果没有账号的话,可以点击右上角的“注册”按钮,然后根据提示输入好用户信息,就可以得到账号和密码了
- 通知公告:用户可以查看后台管理员发布的公告信息,在查询到自己想要了解的公告的时候,可以进入查看详细的介绍。
- 博客文章:普通用户可轻松发布、分享和发现有趣的内容,与志同道合的人交流互动。
- 意见反馈:普通用户可以提交意见反馈,通过简短的话语就能传达出宝贵的意见,有助于网站的不断完善。
- 我的账户:在前台点击“我的”下面的“我的账户”可以对个人资料+密码修改信息进行管控。
- 个人中心:用户可在个人中心进行博客文章的发布或者查看自己收藏的文章
2.4非功能性分析
个人博客网站系统的非功能性需求比如系统的安全性怎么样,可靠性怎么样,性能怎么样,可扩展性怎么样等。具体可以表示在如下2-1表格中:
表2-1基于Django技术的个人博客网站系统的设计与实现非功能需求表
| 安全性 | 主要指基于Django技术的个人博客网站系统的设计与实现数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
| 可靠性 | 可靠性是指基于Django技术的个人博客网站系统的设计与实现能够按照用户的指示进行操作,经过测试,可靠性90%以上。 |
| 性能 | 性能是影响基于Django技术的个人博客网站系统的设计与实现占据市场的必要条件,所以性能最好要佳才好。 |
| 可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
| 易用性 | 用户只要跟着基于Django技术的个人博客网站系统的设计与实现的页面展示内容进行操作,就可以了。 |
| 可维护性 | 基于Django技术的个人博客网站系统的设计与实现开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.5系统流程分析
2.5.1操作流程

图2-2登录流程图
2.5.2添加信息流程
添加信息流程图,如图所示:

图2-3添加信息流程图
2.5.3删除信息流程
删除信息流程图,如图所示:

图2-4删除信息流程图
第3章 系统总体设计
3.1 系统模块结构设计
个人博客网站系统的设计与实现的结构图3-1所示:

图3-1 系统结构
登录系统结构图,如图3-2所示:

图3-2 登录结构图
系统功能结构图,如图3-3所示。

图3-3 系统功能结构图
3.2开发流程设计
系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。
个人博客网站系统的设计与实现的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图3-4所示。

图3-4开发系统流程图
3.3 数据库设计原则
学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还为系统提供了添加、删除、修改和检查等操作模块,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。
通过个人博客网站系统的设计与实现的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:
用户信息实体属性图,如图3-3所示:

图3-3 用户信息实体属性图
博客文章实体属性图,如图3-4所示:

图3-4博客文章实体属性图
留言板实体属性图,如图3-5所示:

图3-5 留言板实体属性图
系统的E-R图如下图所示:
图3-6系统E-R图
3.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 用户编号: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | blog_articles_id | int | 10 | 0 | N | Y | 博客文章ID | |
| 2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 4 | article_title | varchar | 64 | 0 | Y | N | 文章标题 | |
| 5 | label_name | varchar | 64 | 0 | Y | N | 标签名称 | |
| 6 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 7 | article_cover | varchar | 255 | 0 | Y | N | 文章封面 | |
| 8 | article_content | longtext | 2147483647 | 0 | Y | N | 文章内容 | |
| 9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 10 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 11 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 12 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | label_classification_id | int | 10 | 0 | N | Y | 标签分类ID | |
| 2 | label_name | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
| 3 | title | varchar | 64 | 0 | Y | N | 标题: | |
| 4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
| 5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
| 6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
| 7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
| 8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
| 12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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已取消 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | regular_users_id | int | 10 | 0 | N | Y | 普通用户ID | |
| 2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 3 | user_gender | varchar | 64 | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | 敏感词汇ID | |
| 2 | sensitive_vocabulary | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 文件类型 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | | 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 | 会员折扣 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | id | smallint | 5 | 0 | N | Y | 等级ID:[0,10000] | |
| 2 | name | varchar | 255 | 0 | N | N | 等级名称:[2,16] | |
| 3 | discount | double | 11 | 2 | N | N | 折扣 | |
| 4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
第4章系统详细设计与实现
4.1管理员功能模块
管理员登录个人博客网站系统的设计与实现,在登录页面输入用户名、密码进行登录,如图4-1所示。
图4-1管理员登录界面图
管理员进入系统后台可以查看后台首页、系统用户、博客文章管理、标签分类管理、系统管理、留言管理、通知公告管理等功能模块。还可进行相应的操作,如图4-2所示。
图4-2管理员功能界面图
系统用户,在此页面可以查看用户信息,还可在该页面对用户进行重置、添加和删除等操作。如图4-3所示。
图4-3用户管理界面图
系统管理:管理员在这一栏可以编辑标题+图片等详细描述信息进行发布、删除、添加等操作,如图4-4 4-5所示。
图4-4轮播图界面图
图4-5轮播图添加界面图
通知公告管理:管理员在这一栏可以编辑标题+内容进行发布、查询、重置、删除、添加等操作,如图4-6,4-7所示。
图4-6通知公告管理界面图
图4-7添加通知公告界面图
博客文章管理:管理员在这一栏可以看到博客文章列表+博客文章添加这两个子菜单,管理员可对博客文章进行查询、重置、删除、添加等操作,如图4-8所示。
图4-8博客文章列表界面图
4.2普通用户功能模块
普通用户登录个人博客网站系统的设计与实现,需先注册,注册成功后在登录页面输入用户名、密码进行登录,如图4-9,4-10所示。
图4-9普通注册界面图
图4-10用户登录界面图
进入系统可以查看:首页,通知公告,博客文章,意见反馈、我的账户、个人中心(个人首页、博客文章、收藏)等功能,还可进行相应的操作,如图4-11所示。
图4-11用户首页界面图
博客文章,在该页面可以通过搜索关键字查看系统中所有的博客文章信息,可进行点赞、收藏、评论等操作,如图4-12所示。
图4-12博客文章界面图
意见反馈,用户在意见反馈页面输入标题、用户名、留言内容等信息完成意见反馈提交,如图4-13所示。
图4-13意见反馈界面图
个人资料,用户在该页面可以通过系统提示输入个人资料信息完成提交,如:用户姓名等详细信息,如图4-14 所示。
图4-14个人资料界面图
第5章 系统测试
5.1系统测试的目的
程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。
软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。
个人博客网站系统的设计与实现的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在个人博客网站系统的设计与实现正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。
5.2系统测试方法
在对个人博客网站系统的设计与实现进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让个人博客网站系统的设计与实现开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个个人博客网站系统的设计与实现开发所牵扯的该问题都必须一一解决,提高个人博客网站系统的设计与实现平台的安全性、稳定性。
白盒测试与黑盒测试是测试中比较常用的两种方法。
①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。
②功能测试又称黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。
5.3功能测试
用户登录测试:
| 模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
| 登录模块 | 用户名:admin 密码:123 | 弹出错误提示,提示密码错误 | 弹出错误提示,提示密码错误 | 通过 |
| 登录模块 | 用户名:123 密码:admin | 弹出错误提示,提示用户名错误 | 弹出错误提示,提示用户名错误 | 通过 |
| 登录模块 | 用户名:admin 密码:admin | 管理员登录成功 | 管理员登录成功 | 通过 |
删除分类测试:
| 模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
| 删除分类模块 | 分类名:最新通知 | 删除成功、页面自动跳转 | 删除成功、页面自动跳转 | 通过 |
修改密码测试:
| 模块名称 | 测试用例 | 预期结果 | 实际结果 | 是否通过 |
| 修改密码模块 | 原密码:666 新密码:123 确认密码:123 | 弹出错误提示,提示原密码错误 | 弹出错误提示,提示原密码错误 | 通过 |
| 修改密码模块 | 原密码:admin 新密码:123 确认密码:333 | 弹出错误提示,提示确认密码不一致 | 弹出错误提示,提示确认密码不一致 | 通过 |
| 修改密码模块 | 原密码:admin 新密码:123 确认密码:123 | 密码修改成功 | 密码修改成功 | 通过 |
通过对功能的测试,个人博客网站系统的设计与实现的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。
结 论
此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所实践到的技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过找专业的网站和论坛来解决这些问题,对于圆满完成我的毕业设计,他们也贡献了很大一部分力量。系统的开发环境和配置都是可以自行安装的,系统使用django开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实时系统的开发。
在以后的学习及工作中,我将继续努力学习计算机方面的技术,以期在平台开发中可以更好更快的实现需求功能。
致 谢
个人博客网站系统的设计与实现的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终生难忘。
首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。
感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,在此向你们表示深深的感谢。
感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!
毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!。
参考文献
[1]张良峰. 基于Django和Vue的低代码平台构建 [J]. 数字通信世界, 2024, (01): 45-48.
[2]Hagelin S . Shake my hand: Racial fantasies, white saviors, and Django Unchained's haunted screen [J]. The Journal of Popular Culture, 2023, 56 (5-6): 781-796.
[3]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.
[4]张菊香,刘芷希. 视频博客用户参与行为影响因素研究 [J]. 新媒体研究, 2023, 9 (18): 36-40.
[5]克里斯汀·舍费尔 ,陈晓华. 来自高程信用合作社格里·艾格尼斯的洞察——领导力博客系列文章 [J]. 中国质量, 2023, (09): 71-73. DOI:10.16434/j.cnki.zgzl.2023.09.019.
[6]姜晖,岳纪维. 学术博客评论中异议话语的共同体关系管理 [J]. 外语教学, 2023, 44 (04): 49-55.
[7]柳佳延. 学术论文和学术博客中介入资源的作者身份建构对比研究[D]. 青岛大学, 2023.
[8]黄菁菁. 视频博客博主身份特征对消费者购买意愿的影响研究[D]. 贵州财经大学, 2023.
[9]丁海洋. 基于社区发现的互联网技术类文章推荐系统设计与实现[D]. 西京学院, 2022.
[10]施鹭. 基于大数据技术的博客系统研究与开发 [J]. 北京印刷学院学报, 2021, 29 (12): 168-170.
[11]卢云霞. 浅谈个人博客网站的设计与实现 [J]. 内蒙古科技与经济, 2021, (17): 78-79+81.
[12]常佳宁,李阳齐. 基于Django的个人博客系统设计开发 [J]. 中国科技信息, 2021, (02): 75-77.
[13]顾武雄. 博客文章管理 [J]. 网络安全和信息化, 2020, (12): 57-58.
[14]黄文旭,杨艳红. “全映苏应校园说”校园博客系统数据库的设计 [J]. 现代信息科技, 2020, 4 (10): 101-103.
[15]胡泽玮. 视频博客的受众主体性研究[D]. 新疆财经大学, 2020.
[16]李颖. 视频博客(vlog)植入式广告表现研究[D]. 苏州大学, 2020.
[17]黄立慧. 基于区块链的学生博客系统设计与实现[D]. 厦门大学, 2020.
[18]罗涛. 基于Spring Boot的多用户博客系统的设计研究[D]. 青海师范大学, 2020.
[19]Xiaoyan C ,Guoqing D . The Research of Embedded Remote Monitoring System Based on B/S Framework [J]. IOP Conference Series: Materials Science and Engineering, 2020, 740 012201-012201.
[20]周奕. 初中语文教学中博客运用的实践与思考 [J]. 课外语文, 2020, (07): 62-63.
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
基于Django的个人博客网站系统设计与实现
9990

被折叠的 条评论
为什么被折叠?



