登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 计算机科学与技术 > 正文

基于Python web的博客系统设计与开发毕业论文

 2020-02-16 19:17:10  

摘 要

进入21世纪后,社会迈入信息化时代。由于网络的普及,博客作为新发展的媒体,也已成为应用最广泛的网络通信平台之一。相较于其他如E-Mail、论坛、网站等传统社交媒体,Blog具有操作简单、界面美观等优点,因而应用广泛。

根据软件工程开发的方法,本文对基于Python Web的博客系统进行了需求分析和功能设计。采用Python Web开发的主要框架Flask搭建环境,结合Bootstrap前端框架对网页进行渲染,利用MySQL数据库进行后台数据管理,实现了前台与后端数据分离。在前台部分,用户可以执行注册、登录、浏览和查询日志操作。在后端部分,用户通过封装User、Article、Comment、Collect、Fav类、调用框架中封装的方法和使用JSON规范的传参格式的自定义函数实现博客文章管理、用户管理、博客评论和收藏关注管理工作。利用PyMySQL库实现数据库连接,确保数据传输工作。最后,通过设计的测试用例和采用的软件测试方法对系统的功能进行测试。根据测试结果,分析系统实现中遇到的问题并完善代码。

运行结果表明,该系统界面布局简单,功能合理,用户使用方便,且具有较高稳定性、可拓展性,适合用于博客系统的开发。

关键词:Python 语言; Flask 框架; Bootstrap 框架; MySQL 数据库;博客系统

Abstract

After entering the 21st century, society has entered the era of information. Due to the popularity of the Internet, blogs, as a new development media, have become one of the most widely used network communication platforms. Compared with other traditional social media such as E-Mail, forums, websites, etc., Blog has the advantages of simple operation and beautiful interface, so it has been widely used.

According to the software engineering development method, this paper analyzes the requirements and functions of the Python Web-based blog system. The main framework of Python Web development is Flask, which combines Bootstrap front-end framework to render web pages, and uses MySQL database for background data management to realize front-end and back-end data separation. In the foreground section, users can register, log in, browse, and query log operations. In the backend section, users implement blog article management, user management, blog comments, and collections by encapsulating User, Article, Comment, Collect, Fav classes, methods encapsulated in the calling framework, and custom functions using the JSON specification#39;s pass-through format. Management work. Use the PyMySQL library to implement database connections to ensure data transfer. Finally, the function of the system is tested by the designed test cases and the software test methods used. According to the test results, analyze the problems encountered in the system implementation and improve the code.

The running results show that the system has simple interface layout, reasonable function, convenient user use, high stability and expandability, and is suitable for the development of blog system.

Key Words:Python language; Flask framework; Bootstrap framework; MySQL database; Blog system

目录

第1章 绪论 1

1.1研究背景与意义 1

1.1.1研究背景 1

1.1.2研究目的与意义 1

1.2 国内外研究现状 2

1.3 研究主要内容 3

第2章 关键技术分析 5

2.1 Flask框架 5

2.1.1 Flask框架概述hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;...5

2.1.2 Flask拓展 6

2.2 SQLAlchemy 框架 7

2.2.1 SQLALchemy 简介 7

2.2.1 MySQL数据库 7

第3章 系统分析与设计 9

3.1 需求分析 9

3.1.1 功能性需求分析 9

3.1.1 非功能性需求分析 11

3.2 系统可行性分析 13

3.3 系统总体设计 14

3.3.1 系统设计目标 14

3.3.2 系统功能结构设计 14

3.4 系统功能模块设计 15

3.5 系统数据库设计 19

第4章 系统实现与测试 25

4.1系统开发环境 25

4.2系统功能实现 25

4.2.1用户管理 26

4.2.2文章管理 28

4.2.3评论管理 30

4.2.4收藏关注 32

4.3系统测试 33

4.3.1黑盒测试 33

4.3.2白盒测试 34

4.3.3测试内容 34

第5章 总结与展望 39

5.1全文总结 39

5.2展望 39

参考文献 41

致 谢 43

第1章 绪论

1.1研究背景与意义

1.1.1研究背景

随着科技的发展,社会进入信息化时代。网络技术的日渐成熟,造就我们日常生活、工作以及学习等各个方面均受影响。网络已成为不可或缺的一部分。越来越多的人渴望利用网络实现获取信息、充实资源、开拓学识并将自己周边的所见所闻、生活感触分享与人,因而传统的交流方式有所改变。博客是仅次于电子邮件、BBS和ICQ的第四种在线交流方式。博客是基于网络的,能够简单、快捷、方便地发布自己的文章并及时有效地与他人沟通,有着多样的个性化展示于一体的综合平台。一个普遍的博客网站往往包含了文章、图片和评论等功能。有的博客也会包含网站的链接以及其它与主题相关的内容[1]。用户浏览网页并找到他们感兴趣的部分进行评论。用户通过评论与文章作者、其他用户进行交流,以拓宽知识面,锻炼思维能力,学会辩驳。用户在登入之后,可以发布博客文章以供他人阅读。因此,博客比传统的电子邮件沟通方式方便了许多,因而越来越多的人使用博客进行沟通[2]。现阶段,业界人士纷纷开始对博客进行开发,使博客成为一种基于知识技能的网络资源传播的平台与渠道[3]。而Blog系统是指一套以电脑语言编写,方便使用者安装、使用,利用网络建立个人博客的系统。

1.1.2研究目的与意义

目前,国民经济的快速发展,推动着网络技术的发展,人们对于精神境界有了更大的需求。为同时满足用户浏览网页进行阅读充实自我和便于搭建个人博客实现记录、分享的两大需求,博客系统应运而生。由于市面上公开的Web服务框架实现系统开发存在代码量大、难以维护、模板使用的兼容性较差的问题,使得用户难以实现自我搭建。为克服这些问题,并实现用户和机器的交互需求,确保系统的运行效率,本文提出使用python语言结合Web服务轻量级框架Flask实现一个具有多角色、分模块的博客系统的开发。

系统开发的意义主要在以下几个方面体现:

(1) 网络时事交流中心。博客分享着每日的、每周的以及每月的热点新闻。用户可以根据自己的需求阅读。博客网站上不断更新着周边发生的事件,分享着不同的见识见闻,为用户提供一个信息获取、学识分享平台。

(2) 学习交流平台。博客可以帮助用户养成记录生活、努力思辨的能力。用户在浏览网页的时候,看到不同类型的文章,从文章标题开始而引申出媒体的捕捉点;从内容出发,分析文章的论点以及例证而进行分析评论。用户根据自己周边的小事或者新闻进行文章撰写,塑造自我认知世界,表达自我的观点,使用户养成积极表达、思考和学习的习惯。

(3) 博客提供了一个相对安全的环境。针对发布的文章,发表的评论有相关人员进行审核,志同道合的小伙伴们相聚一起,就某一个时间或者某篇文章进行分享。跨越地域性、年龄差距等问题,将人与人之间紧密联系起来。

    1. 国内外研究现状

博客,翻译成Blogger,又称We blog。博客概念被解释为Web出版,发布文章,并且是一种快速增长的在线活动。而Weblog指代这种在线出版和发表的文章。在互联网上发布博客的想法可以追溯到1993年NCSA的“Whatrsquo;s New Page”页面。从最初的仅仅是罗列出Web上新型的网页地址,到Justin Hall创办的“Justinrsquo;s Home Page”的个人网站,再到1997年,Jorn Barger建立了一个个人网站,提供评论、链接和更新。2006年,Evan Williams创建了Twitter;2007年,David Karp创建了Twitter和Blogger之间的Tumblr通信。博客的概念于2000年首次进入中国;2002年,随着“博客中国”的开通,博客系统开始大面积推广;2005年,新浪、搜狐等国内网站也加入了博客阵营,推动社会进入博客时代。2007年,开始出现像微博的独立微博。2009年,由于新浪微博的推出,微博在中国开始流行。成功的企业家方兴东这样描述博客——“人们在Internet上能够自由设计的家”。 Blog呈现出勃勃态势,收到各界人士的热烈欢迎。尽管有人预言Blog终将走上末路,但是依据相关数据显示,Blog仍具有强大的发展动力与态势[4]

Blog深受社会各界的关注的原因主要有两点:第一,Blog改变了使用者的角色,使用户同时具备接收者与分享者双重身份[5]。其次,Blog从网络供应商的层面入手,实现了网页要求的三大方面即Blog能够给广大网民提供海量信息;Blog能够极大程度上改善用户粘性;在满足以上两个前提下,供应商能够收获良好的收益。

国外专家人士关于博客系统的研究基本上侧重于下列几点:

(1) 研究使用Blog的用户行为。比如说研究Blog的传播方式、文章内容、影响因素、用户个人行为特点、情感倾向等诸多方面。比如说Gruhl等相关专家学者具体的探讨了 博客传播的性质,引入了疾病传播模型[6]进行分析,Kumar等相关专家学者发现社区博客的短期性主要源于用户间共同的兴趣,长期以往会逐渐衰减,反映出突出的突变性特征。

(2) Blog社区研究,基本上采用博客链接与网络分析法,把链接当作参考进行探讨。其中具有代表性的结论有Cameron Marlow基于link评价博客的权威性与Ying Zhou等相关学者对博客社区的探讨[7]

(3) 针对内容应用方面而言,其内容基本上反映了作者的品格、情感倾向。博客较为充分得展现博主的特点,并为用户提供相应的服务以及关于内容分类、兴趣发掘等诸多领域的科学合理的培训[8]

目前,博客已成为国内主要的学习、交流平台之一。但是,市场上大部分博客系统仍存在功能不全、操作复杂、难以彰显个性化的问题。对此,开发一款适用于个人搭建的简单化、个性化的博客系统是很有必要的。对于公布的开源框架,查询开源中国网站,发现针对博客开发存在基于SpringBoot的轻量级个人博客、基于thinkphp的个人博客、基于Laravel的个人博客系统和基于Django搭建的个人博客等等。市场上的博客系统主要包括WordPress、Pivot X、PJ-Blog、Z-Blog、fcontex、Bo-Blog、Sablog-X以及EMLOG。

    1. 研究主要内容

本文将把面向对象的方法应用于软件工程中,利用Flask框架对Python Web博客系统后台管理功能进行开发。通过Pycharm工具与Python高级语言进行编程,使用Flask轻框架进行功能实现。具体研究内容包括:

(1) 研究博客系统开发中使用的关键技术。Flask是一个基于Python的微框架,依赖着Jinja2模板和Werkzeug WSGI服务。Werkzeug本质上是一个套接字服务器,接收来自网页的请求并实现预处理。开发者调用库中提供的功能处理请求后,将信息返回给用户。如果返回复杂信息时,则借助Jinja2模板来进一步处理。也就是说,设计模板和数据,并将处理过的字符串返回给用户浏览器。

(2) 对博客系统进行需求分析,分析和总结系统的核心功能、系统性能以及系统应具备的安全性特征。同时,使用ProcessOn/Visio工具绘制相关图表以进行补充说明;

(3) 博客系统的总体设计从系统架构开始,详尽地设计功能结构;系统的数据库设计是根据实体结构、实体与实体的关系,并借助ProcessOn绘制相应的逻辑模型来说明。系统的安全性由结构判断、多重验证来保证;

(4) 以工程的方法实现博客系统。在开发工具和以往系统设计文档的帮助下,实现了系统的核心功能和安全验证,并描述了各模块关键功能的业务逻辑。最后,利用绘图工具绘制的相关图表说明了整个系统功能实现和安全保障的过程;

(5) 采用系统测试方法进行系统测试。考虑到白盒测试较为复杂,因此系统结构的测试主要在设计阶段进行模块开发顺序调整。通过黑盒测试的方法进行功能的测试。最后,设计测试用例进行检测,并根据实际结果与预期情况的对比结果对系统问题进行修复。

第2章 关键技术分析

本章将描述实现博客系统所使用的关键技术。前端使用涉及JavaScript、CSS、HTML和Ajax进行网页修饰的Bootstrap框架进行设计,后台采用由基本框架Werkzeug构建的Flask轻型框架,利用Python高级语言实现功能。数据的存储依赖MySQL。

    1. Flask框架
      1. Flask框架概述

Flask是使用Python语言设计并封装函数的流行web框架之一。Flask被称为轻量级框架,其中,轻量级表明Flask的目的是保持代码短小精悍且易于扩展性。Flask框架以较为简单的核心功能为基础,通过插件的拓展增加新功能,因而该框架便于拓展,具有一定的兼容性。对此,程序员可以使用该框架快速搭建网站。由于Flask拥有丰富的配置选项,一般情况下,Flask不会指定数据库和模板等对象,用户可以因需选择数据库和配置。默认情况下,这些配置选项能够按照约定良好工作。

Flask只保留基础功能,在开发过程中,根据开发需要,自由配置插件实现拓展,为项目开发提供基础组件,实现验证数据合法性、用户身份正确性和数据库集成等功能。默认情况下,模板和静态文件分别位于名为“templates”和“static”的程序源代码的子目录下。当然,开发者也可以自定义这些路径。

Flask主要包括两个核心函数库:Werkzeug WSGI和Jinja2。Werkzeug负责执行请求、响应对象和实际功能,Jinja则是一种流行的Python模板引擎。Web模板系统将模板与特定数据源组合在一起,实现动态网页。Werkzeug库通过Cookie识别用户id,缓存操作数据,实现连续接通,提高了用户访问速度。利用URL路由请求集合,一次可以处理多个用户的访问请求。支持交互式JavaScript调试,实现http基本事务处理。Jinja2库支持自动html传输,使系统具有快速的运行效率。在页面加载过程中,Jinja会编译源码,将源码转换成字节码,实现模板的跨平台;模板是类的集合。由于类的可继承性和多态性,通过重定义模板内容,为有不同需求的用户提供相应的模板[9]

除了Flask仍然有许多用于Python Web开发的框架。其中,Django是当前Python Web开发框架中最常用的。但Django就像Enterprise JavaBeans JavaEE服务器端组件模型主要应用于开发大型网站,对于小型网站开发,使用Flask及其插件就可以实现快速开发,减少内存损耗。与其他轻量级框架相比,Flask框架可以通过插件进行有效扩展。正是这个原因,Flask框架是其他Web框架所不能取代的。

      1. Flask拓展

除了Flask核心服务外,本文所实现的系统还需要以下的扩展:

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图