一个主要由Django和DjangoRestframework开发的个人博客。 后端集成Elasticsearch, Whoosh等搜索引擎。
个人博客可将API_MODE设置为False
在rest模式下,暂时不提供前端源码,可根据后端文档接口(调试模式下http://localhost:8000/docs查看)去写。 rest模式需要在设置中将 API_MODE 设置为True, 在rest模式下,支持多用户博客。
启用rest模式后,后端认证方式变成 session, token, 以及jwt的认证工作模式,同时社会化登录也变成接口的方式调用。
- 全文检索
- 搜索建议
- 相似文章推荐
- 上一篇下一篇文章
- 富文本, 集成kindeditor
- Admin后台MarkDown支持, 集成 editor.md
- 自定义用户认证后端
- 自定义评论系统(前后端), 线性评论回复点赞, rest接口, 集成富文本编辑器
- 博文以及评论点赞,回复邮件通知
- 缓存计数, 缓存数据库同步
- 集成celery后端异步邮件发送, 异步缓存同步等耗时操作
- 社会化集成,支持第三方用户帐号登陆
- 自定义admin后台
- 树形无限分类(前后端)
- 博文后端支持选定格式批量导入,导出。(csv, xls, xlsx, tsv, ods, json, yml, html)
- 服务出错后,邮件通知
- 博文爬虫定时抓取, 集成Scrapy, Celery调度。
- 自定义django-Haystack搜索框架下Elasticsearch后端,支持Elasticsearch中文检索。
- 支持Whoosh搜索后端
- jdk8 # Elasticsearch需要
- python3
- Redis #根据配置修改其他缓存
- MySQL #根据配置修改其他数据库
- Elasticsearch #可切换到性能较弱的Whoosh搜索引擎
- Nginx #非必要
- Uwsgi #非必要
- Supervisor #非必要
本项目docker镜像地址 https://hub.docker.com/r/renkang/myblog/
$ docker pull renkang/myblog:base
$ docker build -t 镜像名 .
$ docker swarm init
$ docker stack deploy -c docker-compose.yml myblog
$ docker exec -it <容器id> bash
$ python manage.py migrate
$ python manage.py createsuperuser