本博文在51CTO技术博客首发。
开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激!
0.Blog_mini送给你们:让每个人都轻松拥有可管理的个人博客
你从未架设过服务器或网站,希望可以接触一下这方面的知识……
你从未使用过Linux操作系统,希望可以接触一下这方面的知识……
你是初中生/高中生/大学生,希望能在学业之余锻炼一下自己的IT技能……
你是Python新手,希望能有一个用Python开发的个人博客……
你学习Python许久,希望有一个开源的项目可以用来学习与练手……
你已经开发和架设过个人博客,但你希望拥有一个配备强大后台管理功能的个人博客……
……
那么Blog_mini送给你们!愿你们都能轻松拥有可管理的个人博客!
在本文的最后,将会提供体验地址给大家,让大家完全体验一下Blog_mini的功能。
1.Blog_mini是什么?
Blog_mini是一个用Python开发的,拥有简洁页面(支持响应式布局!)和强大后台管理功能的开源博客系统,使用Blog_mini,你将能轻松使用和管理你的个人博客!
强大管理后台:
(1)技术架构
后台语言:Python
Web框架:Python Flask
设计模式:工厂模式(程序结构清晰)
前端框架:Bootstrap3
数据库:sqlite或MySQL
数据库设计:一对一/一对多/多对多/高级多对多(高级自引用)
(2)项目地址与文档地址
部署文档:《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)博文管理系统
首页一览
在电脑上的部分查看效果:
在手机上的部分查看效果:
可以看到,就从外观页面来看,Blog_mini的界面是比较简洁的,理由也比较简单,就是作者本身不是做前端的,所以在这方面可能会有所欠缺,往后作者会联系前端的朋友来帮忙弄一下,看能不能做出更好看的效果。但不管怎么说,希望大家更注重的是它的实用性功能,而不仅仅是炫丽的前端。只要时间足够,前端页面也可以做得很好看,我也期待中!
博文页面
博文内容:
评论页面:
发表或修改博文
使用的是Tinymce的可视化编辑器,因此对于文章的编辑是比较简单,同时,还支持代码高亮的功能:
或源代码的方式编辑博文:
当然目前没有做的一点是图片的上传功能,这个后面看大家的需求,目前是觉得把图片放在第三方存储,然后以链接的方式插入图片会更好。
博文批量管理
(2)评论管理系统
评论页面
普通用户看到的博文评论:
管理员看到的博文评论:
评论管理
屏蔽评论:
(3)博文分类系统
博文分类
博文分类导航
对于首页的导航:
无论是它们的名称,还是它们的顺序,也或者是它们所包含的博文分类,你都是可以进行管理的:
这样的好处是,无论你的博文有多少,你都可以非常轻松地查看和管理,根据导航和分类,轻松找到你写的博文,而不用担心博文数量过多时使得博文管理混乱。
(4)主页插件系统
插件管理
当然对于插件的排序/启用与否,也是完全可以使用的。
添加插件
(5)其它功能
博客基本信息与修改
用户账户
修改管理员密码或信息
功能就先介绍到这里吧,可以看到的是,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
最后,感谢大家!你们的鼓励与支持会促进我的进步!就像曾经写第一篇博文时老男孩老师的鼓励一样!
希望大家支持开源,支持分享!
本文出自 “香飘叶子” 博客,谢绝转载!
开源分享:用Python开发的开源博客系统Blog_mini
原文地址:http://xpleaf.blog.51cto.com/9315560/1748913