基于Django1.9.5开发一个简单的博客系统
三个分支:
- master: 主分支
- py27: 基于python2.7.8版本的分支
- py34: 基于python3.4.2版本的分支
教程目录:
- 使用Django1.9开发博客(1) - 入门篇
- 使用Django1.9开发博客(2) - 模型
- 使用Django1.9开发博客(3) - 部署
- 使用Django1.9开发博客(4) - 三部曲
- 使用Django1.9开发博客(5) - 页面美化
- 使用Django1.9开发博客(6) - 模板继承
- 使用Django1.9开发博客(7) - 实现功能
- 使用Django1.9开发博客(8) - 继续完善
- 使用Django1.9开发博客(9) - 用户认证
- 使用Django1.9开发博客(10) - 全文搜索
- 使用Django1.9开发博客(11)- 富文本与代码高亮
- 使用Django1.9开发博客(12)- I18n国际化
- 使用Django1.9开发博客(13)- Redis缓存
- 使用Django1.9开发博客(14)- 集成Xadmin
通过上面的教程,相信你已经搭建了一个具有基本功能的博客。最近在此基础之上又持续不断的改进,目前发布了1.0版本。 具体新增功能如下:
- 页面美化,加入了自定义样式和最新bootstrap
- 文章评论功能,并且显示每篇文章的评论数
- 文章标签,侧边栏会显示标签云,具体还有一个实现标签云的算法
- 分类目录,最新文章,评论列表的显示
- 文章归档功能,按照月份归档
- 实现热门文章功能,根据点击率来排名
- 文章的分页显示,每页大小可后台设置
- 给文章评分,顶和踩
- 全文搜索功能
- 引入富文本编辑器,让格式更漂亮,并支持代码高亮等功能
- 全面集成redis缓存系统,提升系统速度
- i18n国际化
- 集成xadmin的后台管理系统,管理员维护博客。
未来版本:
- 全面美化页面,我得找个好看点的模板
- 性能继续改进
- 将Django自带的ORM替换成SQLAlchemy
- 所有功能基于python3,那么需要替换xadmin管理后台
- 软件支持和文档的完善等
一个人毕竟精力有限,期待在GitHub上面找到合作者共同完善这个系统。可以fork这个工程然后提交Pull Requests。
演示地址(用户名/密码:admin/admin)
https://yidao620.pythonanywhere.com/
How to Contribute
You are welcome to contribute to simpleblog as follow
- add/edit wiki
- report/fix issue
- code review
- commit new feature
- add testcase
Meanwhile you'd better follow the rules below
- It's NOT recommended to submit a pull request directly to
master
branch.develop
branch is more appropriate - Follow common Python coding conventions
- Add the following license in each source file
License
(The Apache License)
Copyright (c) 2013-2016 Xiong Neng and other contributors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.