前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python Flask开源博客系统Bl

Python Flask开源博客系统Bl

作者头像
py3study
发布2020-01-06 11:05:29
1.8K0
发布2020-01-06 11:05:29
举报
文章被收录于专栏:python3python3

        本博文在51CTO技术博客首发。

        开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激!

        大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用:

地址:Blog_mini

账号:blog_mini@163.com

密码:blog_mini

0.Blog_mini送给你们:让每个人都轻松拥有可管理的个人博客

        你从未架设过服务器或网站,希望可以接触一下这方面的知识……

        你从未使用过Linux操作系统,希望可以接触一下这方面的知识……

        你是初中生/高中生/大学生,希望能在学业之余锻炼一下自己的IT技能……

        你是Python新手,希望能有一个用Python开发的个人博客……

        你学习Python许久,希望有一个开源的项目可以用来学习与练手……

        你已经开发和架设过个人博客,但你希望拥有一个配备强大后台管理功能的个人博客……

        ……

        那么Blog_mini送给你们!愿你们都能轻松拥有可管理的个人博客!

在本文的最后,将会提供体验地址给大家,让大家完全体验一下Blog_mini的功能。


1.Blog_mini是什么?        

        Blog_mini是一个用Python开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_mini,你将能轻松使用和管理你的个人博客!

强大管理后台:

wKioL1be2SOBfCE_AALY4wOk6EM985.png
wKioL1be2SOBfCE_AALY4wOk6EM985.png

(1)技术架构

  • 后台语言:Python
  • Web框架:Python Flask
  • 设计模式:工厂模式(程序结构清晰)
  • 前端框架:Bootstrap3
  • 数据库:sqlite或MySQL
  • 数据库设计:一对一/一对多/多对多/高级多对多(高级自引用)

(2)项目地址与文档地址

        为了使开源更有意义,作者撰写了非常详尽的部署文档,涵盖在CentOS与Ubuntu上的详细部署方案,而文档的思路力图清晰与完整,看过《网络排错大讲解》的朋友们相信会有所体会,因此完全不用担心文档会写得羞涩难懂。

(3)无需为数据库知识担忧

        另外,即使你对数据库配置完全不了解也没有关系,因为Blog_mini提供两种数据库方案:

  • 完全不需要配置数据库
  • 配置MySQL数据库

        就这一点来说,这非常适合新手!而对于MySQL数据库的配置,作者也在部署文档中给出了详尽的过程,因此,无论你对数据库了解多少,都完全不用担忧数据库的配置问题!

(4)使用Python开发的规范性

        Blog_mini的所有开发和开源工作均在Linux平台下完成,使用了规范的虚拟环境开发方法,详情可以看部署文档。


2.Blog_mini功能详解

        核心功能浏览:

博文管理系统

评论管理系统

博文分类系统

博文导航系统

主页插件系统

其它功能

1.可视化发表博文2.可视化修改博文3.添加到分类4.博文隐藏5.博文删除6.博文批量删除7.博文筛选

1.给博文评论2.评论用户头像3.回复评论4.评论屏蔽5.评论显示6.评论删除7.评论批量删除

1.分类添加2.分类删除3.分类修改4.分类隐藏5.分类公开5.分类添加到导航

1.导航添加2.导航修改3.导航删除4.导航升序5.导航降序

1.系统插件2.插件可视化编辑内容添加3.插件修改4.插件显示与隐藏5.插件升序6.插件降序

1.博客标题修改2.博客签名修改3.导航样式修改4.管理员信息修改

        上面的这些功能相对都很实用。当然,其实还有很多功能可以实现,而且在技术层面上也是完全没有问题的,但由于时间关系,未能一一实现,把Blog_mini分享给大家,就是希望大家可以根据自己使用的需要,来让作者开发出更实用的功能。

(1)博文管理系统

  • 首页一览

在电脑上的部分查看效果:

wKiom1bews6Q77a2AAQE6SJ4oLM836.png
wKiom1bews6Q77a2AAQE6SJ4oLM836.png

在手机上的部分查看效果:

wKioL1bewo3Ap0NjAAE1wYMshGY169.png
wKioL1bewo3Ap0NjAAE1wYMshGY169.png

        可以看到,就从外观页面来看,Blog_mini的界面是比较简洁的,理由也比较简单,就是作者本身不是做前端的,所以在这方面可能会有所欠缺,往后作者会联系前端的朋友来帮忙弄一下,看能不能做出更好看的效果。但不管怎么说,希望大家更注重的是它的实用×××,而不仅仅是炫丽的前端。只要时间足够,前端页面也可以做得很好看,我也期待中!

  • 博文页面

博文内容:

wKiom1bfC0uwCpWWAAUTAFvv1cc794.png
wKiom1bfC0uwCpWWAAUTAFvv1cc794.png

评论页面:

wKioL1bexOyBl4bZAAH-OCWEpDg175.png
wKioL1bexOyBl4bZAAH-OCWEpDg175.png

评论或回复:

wKiom1bexL2CEpZyAADQM7IvffY210.png
wKiom1bexL2CEpZyAADQM7IvffY210.png
  • 发表或修改博文
wKioL1bexeGTQx4mAAIdYvGGAtw736.png
wKioL1bexeGTQx4mAAIdYvGGAtw736.png

        使用的是Tinymce的可视化编辑器,因此对于文章的编辑是比较简单,同时,还支持代码高亮的功能:

wKiom1bexjSQIuVCAACESVgAlzM447.png
wKiom1bexjSQIuVCAACESVgAlzM447.png

        或源代码的方式编辑博文:

wKioL1bexxOC6i5YAADuBMVi-Gw601.png
wKioL1bexxOC6i5YAADuBMVi-Gw601.png

        当然目前没有做的一点是图片的上传功能,这个后面看大家的需求,目前是觉得把图片放在第三方存储,然后以链接的方式插入图片会更好。

  • 博文批量管理
wKioL1bex_LgLhpnAAEpTTEUuyk601.png
wKioL1bex_LgLhpnAAEpTTEUuyk601.png
wKiom1bex3Gi0eDKAAFVotT6Riw164.png
wKiom1bex3Gi0eDKAAFVotT6Riw164.png
wKioL1beyEXh-mqdAAB1HIWXjZc908.png
wKioL1beyEXh-mqdAAB1HIWXjZc908.png

(2)评论管理系统

  • 评论页面

普通用户看到的博文评论:

wKiom1beyLmgyupxAADwKvHV35I667.png
wKiom1beyLmgyupxAADwKvHV35I667.png

管理员看到的博文评论:

wKioL1beyTuwOA3AAAEAY_26Bf0573.png
wKioL1beyTuwOA3AAAEAY_26Bf0573.png
  • 评论管理
wKioL1beyhXjlWwFAAHyO-kdjL0717.png
wKioL1beyhXjlWwFAAHyO-kdjL0717.png
wKiom1beyZTy8ovnAAFtf5INJHQ326.png
wKiom1beyZTy8ovnAAFtf5INJHQ326.png
wKioL1beyhagdTeLAAC6WGCkv2w955.png
wKioL1beyhagdTeLAAC6WGCkv2w955.png

屏蔽评论:

wKioL1beyo2AsHPeAADCmc4EIy8825.png
wKioL1beyo2AsHPeAADCmc4EIy8825.png

(3)博文分类系统

  • 博文分类
wKioL1beyx7x7gPDAAEnd6we_cY139.png
wKioL1beyx7x7gPDAAEnd6we_cY139.png

添加分类:

wKiom1beytyAdPVuAACFbjVvBbA478.png
wKiom1beytyAdPVuAACFbjVvBbA478.png
  • 博文分类导航

对于首页的导航:

wKiom1beyy3AhiLeAABnMGxDsbk103.png
wKiom1beyy3AhiLeAABnMGxDsbk103.png
wKiom1bezBfTvLKJAABQlCWl4Dw431.png
wKiom1bezBfTvLKJAABQlCWl4Dw431.png

        无论是它们的名称,还是它们的顺序,也或者是它们所包含的博文分类,你都是可以进行管理的:

wKiom1bey57BuVE2AADmWWZTuP0611.png
wKiom1bey57BuVE2AADmWWZTuP0611.png
wKioL1bezCDDqsMJAACrpXopYPo485.png
wKioL1bezCDDqsMJAACrpXopYPo485.png

        这样的好处是,无论你的博文有多少,你都可以非常轻松地查看和管理,根据导航和分类,轻松找到你写的博文,而不用担心博文数量过多时使得博文管理混乱。

(4)主页插件系统

  • 插件管理
wKiom1bezUviEPaHAAB1kR3TaOg979.png
wKiom1bezUviEPaHAAB1kR3TaOg979.png

        当然对于插件的排序/启用与否,也是完全可以使用的。    

  • 添加插件
wKioL1bezc3CNp5qAABfSThvPxU318.png
wKioL1bezc3CNp5qAABfSThvPxU318.png

(5)其它功能

  • 博客基本信息与修改
wKiom1bezjHhfB0EAAEBguG2p-I235.png
wKiom1bezjHhfB0EAAEBguG2p-I235.png
  • 用户账户
wKioL1bezrOhfkH7AAIXdesPn0o994.png
wKioL1bezrOhfkH7AAIXdesPn0o994.png
  • 修改管理员密码或信息
wKiom1bezoCROUVtAACJ2I85x6g025.png
wKiom1bezoCROUVtAACJ2I85x6g025.png
wKiom1bezrTQl2-GAACqMZHDbCs474.png
wKiom1bezrTQl2-GAACqMZHDbCs474.png

        功能就先介绍到这里吧,可以看到的是,Blog_mini有一个强大的管理后台,因此,只要你部署了Blog_mini,你就可以像使用51cto博客一样方便了,而不用去考虑代码的问题。大家可以去体验一下,然后再决定是否要使用Blog_mini来架设个人博客网站。


3.Blog_mini的意义

        其实就抛开功能上讲,从开源的角度上去说,是有着非常大的意义的。

        最初写Blog_mini就是写给自己用而已,因此根本就没有考虑管理后台的问题,但后来越是觉得,如果一个博客系统,连上面这些功能都没有,又如何去使用呢?

        于是看了看开源中国和Django中国社区,Flask社区,发现用Python开发的博客系统有后台管理的数量极少,而比较多的朋友有这样的需求,于是才决定写一个功能较为完整的管理后台,然后分享给广大朋友!

        开源与不开源的很大区别不仅仅在于代码是否分享,另外重要的一点是,有没有完整的部署文档可以供大家参考!因为就算有了源代码,如果没有部署或使用的教程,开源的意义是不大的!而正是想着要把它开源,才促使自己去写各种文档,在这个过程中,自己的能力无疑是大大提高的。

        另外一方面,对于要写运维平台的朋友来说,你总是要写类似的管理后台页面的(博主目前正在着手开发的一个监控系统亦是如此),无论你是从头到尾写管理后台的前端页面,或是直接使用开源的Bootstrap管理后台,对于后台与前端页面的数据逻辑处理,你总是会面对的,这就要求你对前端与后台的交互过程有一个整体的把握。


4.关于代码与质量

        我是第一次使用git版本控制系统,可以说没什么经验,所以大家看GitHub上的项目主页commit的次数有点多。

        但不管怎么说,有兴趣的朋友还是可以看一下Blog_mini的代码的,至少看过很多国内同类的项目,程序结构是比较混乱的,而Blog_mini使用的是工厂设计模式,参考了miguelgrinberg的flasky的设计模式,因此在程序的结构上是非常清晰,无论是要修改或是扩展开发,也会显得很有优势,对于初学的朋友,完全可以从manage.py来捉摸出整个程序的整体架构的,这一点也不难。

        非常感谢miguelgrinberg的帮助,平时遇到一些问题问他,他总能及时回复解答,尽管我们的差距那么大。另外也非常感谢师弟龙浩君帮我整理GigHub上的代码以及提出的一些建议。

        最初是跟Alex和武Sir学习Python的,那时Alex一向讲得口齿伶俐,崦武Sir虽然讲得不是很流利,但也很有深度,不知道现在怎么样了,在此谢谢两位老师。


5.Blog_mini体验地址

        大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用:

地址:Blog_mini

账号:blog_mini@163.com

密码:blog_mini


        最后,感谢大家!你们的鼓励与支持会促进我的进步!就像曾经写第一篇博文时老男孩老师的鼓励一样!

        希望大家支持开源,支持分享!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档