基于python的博客系统设计与实现 .docx
《基于python的博客系统设计与实现 .docx》由会员分享,可在线阅读,更多相关《基于python的博客系统设计与实现 .docx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于python的博客系统设计与实现摘要:目前,对于信息的获取是十分的重要,我们要做到的不是裹足不前,而是应该主动获取和共享给所有人。博客系统就能够实现信息获取与分享的功能,博主在发表文章后,互联网上的其他用户便可以看到,同时,博主也可以记录一些重要的信息等。在现在的软件产品的研发过程中,包含计划、分析、设计、实施和测试五个阶段,我们开发一个博客系统也是如此。一个完善的博客系统包含的功能也很多,对于不同的项目而言,侧重点可能不一样,对我们的系统而言,本系统主要实现单用户支持,实现基本的博客功能,如文章管理、评论管理、搜索等。本次系统采用Flask作为基础框架开发。主要分析了实现博客系统的相关技
2、术。通过使用Python的Flask、Markdown、SQLAlchemy、Nginx、Redis和Mysql数据库等服务完成系统的设计与实现。本博客系统实现了游客浏览、填写相关参数后游客也可以发表评论,不过展示出来需要博主审核。博主除了可以发表文章,修改文章,删除文章等文章管理外,还可以审核用户评论、删除用户评论。本文主要对实现博客系统的相关技术,系统目标,系统的设计与实现进行介绍。关键词:博客,Python,Flask,信息共享Design and implementation of blog system based on PythonAbstract:At present, acce
3、ss to information is very important. What we should do is not to hold back, but to actively access and share it with all people. Blog system can achieve the function of information acquisition and sharing. After bloggers publish articles, other users on the Internet can see them. Meanwhile, bloggers
4、 can also record some important information. In the current software product development process, including planning, analysis, design, implementation and testing five stages, we develop a blog system is the same. A perfect blog system contains many functions. For different projects, the focus may b
5、e different. For our system, this system mainly realizes single user support and basic blog functions, such as article management, comment management, search, etc. This system uses flask as the basic framework. This paper mainly analyzes the related technologies of blog system. The system is designe
6、d and implemented by using the services of Python such as flask, markdown, Sqlalchemy, nginx, redis and MySQL database. This blog system enables visitors to browse and fill in relevant parameters, and then visitors can also comment, but it needs to be reviewed by the blogger. Bloggers can not only p
7、ublish articles, modify articles, delete articles and other article management, but also review user comments and delete user comments. This paper mainly introduces the related technologies, system objectives, design and implementation of the blog system.Keywords:blog,Python,Flask,information sharin
8、g目 录第1章第1章 绪 论11.1个人博客研究的意义与背景11.1.1个人博客的发展背景11.1.2 本课题研究的目的与意义11.2 系统设计与与开发趋势21.2.1 系统设计思想21.2.2 发展趋势21.3 本文结构2第2章 系统的相关技术介绍32.1 Flask简介32.2 Bootstrap简介32.3 MYSQL简介32.4 REDIS简介42.5 NGINX简介4第3章 需求分析及可行性研究53.1 需求分析53.1.1系统目标53.1.2游客身份53.1.3管理员身份63.2可行性研究63.2.1 经济可行性73.2.2 技术的可行性7第4章 系统总体设计84.1系统设计原则8
9、4.2系统功能设计84.2.1总体功能描述84.2.2功能模块设计94.2.2数据库设计104.3数据库设计概念104.3.1数据库逻辑结构设计104.3.2数据库物理设计11第5章 主要功能的实现135.1后台登录135.2文章发表155.3用户评论175.4修改文章185.5评论审核205.6数据接口21第6章 系统测试226.1系统测试的目的226.2系统测试的方法226.3系统测试用例22第7章 总结与展望267.1博客系统的主要特点267.2系统的不足之处267.3前景展望27参考文献:28致谢29第1章 绪 论1.1个人博客研究的意义与背景1.1.1个人博客的发展背景在网络越发发达
10、的现在,特别是在全球化的程序发展下,互联网已经是我们与外界交流的重要工具,而个人博客就是我们相互交流的一个重要的平台。这是互联网带给人们的变革的革命力量。互联网的发展拉近了我们与世界的距离,在给人们带来更多机会的同时,我们也要把我机会。大量甄别和获取信息。使我们不与世界脱轨。自由是个人博客的最大特征,也是博客精彩的原动力。个人博客的出现,也为人们深度交流和沟通的创造了新的网络方式。从特定的意义上来讲,它的出现和流行也是一种新的文化现象。 它的出现让人们的信息交流更加便捷,使人们工作与生活的方方面面都产生了翻天覆地的变化。1.1.2 本课题研究的目的与意义博客,也被称为网络日记。是一种由个人频繁
11、更新,分享个人意见与心得、记录生活的方式。 个人博客通常是由一些简短并且经常经过更新的日志文章组成。比如可以是记忆力实在不好,所以选择记录下来。 博客的目的是在Internet上表达和发布您的各种想法,并向你展示当前的想法。随着时代的变迁和技术的发展,人们对知识的需求也越来越高,在各种网络交流方式的更迭中,博客由于自身的优越性,随着时代的发展而不断进步。博客现在在商业和个人展示等等方面都有了很大的发展。博客已经成为继论坛之后新的网络交流方式。希望博客给人们带来的更加便捷的交流平台,能使人们的生活更加便利,同时带动其他技术的发展。1.2 系统设计与与开发趋势1.2.1 系统设计思想本博客系统在设
12、计过程中,考虑到该系统一个是一个功能完备而小巧的系统,所以主要包含一下功能:发表文章、修改文章、输出文章、审核评论以及留言功能。在这些基础功能的基础上,再添加一下个性功能。如自定义链接等,本系统是针对个人的博客系统,因此它可以在上述介绍的博客系统必须具备的功能中适当精简,还应当如后面提到的,要有自己的特色。对于本系统,应做到简约展示内容。1.2.2 发展趋势过去几年来,随着网络的越来越发达,博客网站也在迅速发展。而博客的发展能改变我们的生活方式,改变我们查找资料和分享信息的方式。通过创建个人博客,我们可以在网络上拥有一块属于自己的地盘。也可以每天得到关注,其他人可以通过博客找到此人。 这样,随
13、着时间的积累和推移,这通常被称为“个人声誉”。 个人的声誉是个人与互联网各种平台之间发展的各种关系的组合。 因此每个人的声誉也并不相同。 但是,如果为每个博客创建一种新的统一的评估审查机制,那么该机制或许将成为个人博客系统商业化的前提。1.3 本文结构本设计分为六个部分。首先介绍博客的历史以及现状,分析博客发展的方向。其次着重介绍本系统需要用到的相关技术。再对系统进行需求分析和可行性研究,阐述系统的可行性并确定系统的开发思想。第五部分实现系统的相关设计。第六部分对系统进行测试,验证稳定性。第七部分对博客系统的研究与设计工作进行总结,指出不足及解决方案,为以后优化打好基础。第2章 系统的相关技术
14、介绍本博客系统的开发采用的是当下最流行的基于python的Flask框架,在该框架中,前端使用框架的模板引擎渲染。这样做的好处是,逻辑和前端展示分离可以方便以后维护,如果逻辑上有做修改,前端只需很少的改动,可以大大提高了系统的可复用性。在Python高开发效率的加持下,可以快速做出系统原型。2.1 Flask简介在python web框架的世界中,各种框架都在迅速发展,而flask便是其中之一。 Flask框架是集成了Jinja2的模板引擎的WSGI工具箱。 Flask仅有一个简单的核心,所以也被称为“微框架”。而其他功能可以通过拓展来添加。 比如Flask并默认不指定使用那种类型的数据库,没
15、有表单的验证功能等等。正因如此,Flask保留了核心的高效性以及拓展的灵活性。 Flask的各种拓展可用于添加其他附加功能功能,如:ORM,邮件支持,表单验证工具,各种开放式身份验证技术等等。并且, Flask是采用BSD开源许可的。无需额外付费。2.2 Bootstrap简介Bootstrap是目前最受欢迎的前端组件库。它是推特公司开发并开源的js前端框架。主要的目的是用于快速开发和统一管理。它有效解决了传统框架在应用上的问题,如:传统框架一般都有命名复杂、样式冗余不规范、页面错乱不和谐等问题。在Bootstrap等一体化解决方案出现后,这些问题迎刃而解。Bootstrap 支持响应式布局,
16、在最新版本中坚持以移动设备优先,可以很简便实现多设备多样式。Bootstrap一直是 GitHub 上热门的开源项目,广受各大公司推崇,包括NASA等知名网站都使用了该项目开发。2.3 MYSQL简介(1) 大量计算任务和数据,在以前只能通过人工计算,但随着技术的发展,计算机的算力提升使计算机成了大量计算最适合的工具。而计算机的发展衍生而来的数据库系统,便是是数据的结构化集合,它能使数据能被有效使用。是一种较为理想的数据处理机构。一般包括了对数据的插入、修改和检索。(2) SQL是国际标准化组织制定的用于访问和处理数据库的标准的特殊的计算机语言。而MySQL就是一种支持SQL语言的跨平台的关系
17、型数据库管理系统。在数据库中,数据以特定的结构组织、保存在不同的数据表中,这样在访问数据时,便可以大大提高访问速度。而且拓展极为方便。(3) MySQL是一种开放源代码软件,我们可以随意浏览源代码。(4) Mysql是一个真正的多用户、多线程数据库。这些特性使mysql的速度和可靠性并不比其他商业数据库系统差。由于多线程的支持,使得mysql可以充分利用CPU资源。在最新的版本中,mysql也支持了事务化处理,因此在一般的应用系统中。它是管理数据最好的选择。(5) Mysql数据库是一个标准的C/S系统,提供TCP/IP、ODBC等多种连接途径,而且原生支持JSON。2.4 REDIS简介Re
18、dis是采用ANSI C语言编写的数据库。它的全称是Remote Dictionary Server,它是一直键对型数据库。Redis也是一个开源软件,我们使用它不需要支付额外的费用。Redis的出现,很大程度上满足了关系型数据库在某些方面的不足。使用也很方便。正因如此,使用redis可以让代码变得更易维护。Redis数据库有以下几个特点:1、虽然数据保存在内存中,但支持数据持久化。2、结构简单,支持多种数据类型3、支持主从结构,效率和可靠性有保障。2.5 NGINX简介Nginx 是一个高性能异步框架的网页服务器。也可用作反向代理和负载均衡器。由Igor Sysoev开发。当然Nginx同时
19、也可以作为电子邮件代理服务器。在以类BSD许可证的形式开源后,广受欢迎。在高并发使用时,cpu、内存等资源消耗依然很低,运行非常稳定。已被广泛应用于各大网站系统中。第3章 需求分析及可行性研究3.1 需求分析3.1.1系统目标系统的目标是指系统应该达到什么效果,这无关技术,就是指站在用户角度,我们的博客系统需要达到什么效果。我们的目的是开发一个人机交互良好的博客系统,使用户能通过个人博客系统在网络上结交更多朋友,同时为用户提供记录和分享信息的平台。3.1.2游客身份首先,游客进入主页后可以浏览博文和发表评论,发表评论需在博客评论处输入邮箱信息,发表成功后博主可审核评论。游客在内容划分上,主要分
20、为一下两个部分:1 搜索和浏览文章:由于系统是个人博客,游客不须登录系统就可以查看博主文章,但游客不能发表文章。2 评论文章:对文章进行留言。图 13.1.3管理员身份博主拥有自己的管理后台,可以在后台上对文章进行管理,包括发表修改和删除。同时也可以在后台对游客发表的留言进行审核,使留言展示出来或者隐藏。个人博主在内容划分上,主要分为一下三个部分:1 发表文章:在管理后台上编辑和文章。2 管理文章:对已经发表的文章进行修改、删除等操作。3 评论管理:对游客以及其他用户发表的评论和留言进行审核,删除。图 23.2可行性研究可行性研究的最终目的,是通过运用科学的方法验证问题是否值得解决,通常需要对
21、项目进行全面分析。 任何项目的开始,都需要可行性研究阶段。如果在没有可行性研究的情况下盲目进行开发,则很难预测成功的可能性。3.2.1 经济可行性博客系统所需的硬件和软件环境(Python + MySQL)可以很轻松从市场上的相关网站购买和下载。根据不完全调查显示,各服务商的虚拟服务器成本已降到可接受的范围内,系统的成本主要是在的开发和维护上,给个人带来的经济负担并不大。使用此博客系统后,可以增加资源共享,提高资源利用率,博客可以极大地促进信息管理。另外,节省人力资源的好处远远大于开发管理系统的成本,因为目标系统并不复杂,开发周期也比较短,并且没有大量的员工支出。是可行的。3.2.2 技术的可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于python的博客系统设计与实现 基于 python 博客 系统 设计 实现
限制150内