天天看点

Python Flask开源博客系统Bl

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

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

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

地址:Blog_mini

账号:[email protected]

密码:blog_mini

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

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

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

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

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

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

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

        ……

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

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

1.Blog_mini是什么?        

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

强大管理后台:

Python Flask开源博客系统Bl

(1)技术架构

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

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

  • 项目地址:https://github.com/xpleaf/Blog_mini
  • 功能详解:《开源分享:用Python开发的开源博客系统Blog_mini》
  • 部署文档:《Blog_mini完整部署文档》
  • 在CentOS上部署Blog_mini:《在CentOS上部署开源博客系统Blog_mini》
  • 在Ubuntu上部署Blog_mini:《在Ubuntu上部署开源博客系统Blog_mini》

        为了使开源更有意义,作者撰写了非常详尽的部署文档,涵盖在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)博文管理系统

  • 首页一览

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

Python Flask开源博客系统Bl

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

Python Flask开源博客系统Bl

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

  • 博文页面

博文内容:

Python Flask开源博客系统Bl

评论页面:

Python Flask开源博客系统Bl

评论或回复:

Python Flask开源博客系统Bl
  • 发表或修改博文
Python Flask开源博客系统Bl

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

Python Flask开源博客系统Bl

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

Python Flask开源博客系统Bl

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

  • 博文批量管理
Python Flask开源博客系统Bl
Python Flask开源博客系统Bl
Python Flask开源博客系统Bl

(2)评论管理系统

  • 评论页面

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

Python Flask开源博客系统Bl

管理员看到的博文评论:

Python Flask开源博客系统Bl
  • 评论管理
Python Flask开源博客系统Bl
Python Flask开源博客系统Bl
Python Flask开源博客系统Bl

屏蔽评论:

Python Flask开源博客系统Bl

(3)博文分类系统

  • 博文分类
Python Flask开源博客系统Bl

添加分类:

Python Flask开源博客系统Bl
  • 博文分类导航

对于首页的导航:

Python Flask开源博客系统Bl
Python Flask开源博客系统Bl

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

Python Flask开源博客系统Bl
Python Flask开源博客系统Bl

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

(4)主页插件系统

  • 插件管理
Python Flask开源博客系统Bl

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

  • 添加插件
Python Flask开源博客系统Bl

(5)其它功能

  • 博客基本信息与修改
Python Flask开源博客系统Bl
  • 用户账户
Python Flask开源博客系统Bl
  • 修改管理员密码或信息
Python Flask开源博客系统Bl
Python Flask开源博客系统Bl

        功能就先介绍到这里吧,可以看到的是,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

账号:[email protected]

密码:blog_mini

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

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