一款基于 Django 的极简主义个人博客系统

本贴最后更新于 1930 天前,其中的信息可能已经斗转星移

shadow_blog

项目地址-https://github.com/zhaoyangkun/shadow_blog

介绍

shadow_blog 是一款基于 Django 的极简主义个人博客,已应用在苍茫误此生博客

前端基于 Boundless-UI,风格简约。支持响应式布局,
已适配主流的安卓和苹果设备。

后台功能不是很丰富,后期如果有时间会做功能的完善和补充。

前端功能

1.注册和登录:

支持 github 授权登录,和异步邮箱验证码注册。

2. 文章关键字模糊搜索、代码块 markdown 渲染

3. 文章分类、标签墙、归档、评论以及友情链接

评论区支持表情和 markdown 渲染。

4. 更改用户头像、呢称等个人信息

5. 文章浏览数和评论数统计,最热文章和猜你喜欢栏目

后端功能

包含基本的服务器端分页、模糊搜索功能。

1.用户管理

支持修改密码,锁定/启用账户,删除账户等功能。

2. 分类、标签墙管理

添加分类和标签,分类和标签相对应

3. 文章管理

可以通过 markdown 编辑器添加、修改文章,并添加标签和分诶,markdown 编辑器支持多图片上传。

4. 评论管理

5. 友链管理

6. 修改站点信息

修改站点 logo,站点名称,关键词,描述等信息。

7. 站点地图

默认启动站点地图功能,暂时不支持后台配置,可以通过域名 + sitemap.xml 访问站点地图

使用说明

  1. 本项目依赖于 python,pip 和 redis 环境,请先配置好这些环境。python 版本最好选择 3.5 以上的。

  2. 克隆项目至本地,创建虚拟环境(不创建也可以),再进入项目根目录,执行命令
    pip install -r requirements.txt 安装环境依赖,继续依次执行 python manage.py makemigrations 和
    python manage.py migrate 生成数据库。

  3. 由于项目用到了 github 授权登录和异步邮箱发送验证码,需要在 settings.py 中配置授权登录参数和 SMTP 邮箱信息。

  4. 修改 settings.py 中的以下有关信息。

# github授权登录
GITHUB_CLIENT_ID = '******'
GITHUB_CLIENT_SECRET = '******'
GITHUB_CALLBACK_URL = 'https://******'  # 填写你的回调地址

# 邮件配置
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.163.com'  # 如果是 163 改成 smtp.163.com,QQ 邮箱改为为 smtp.qq.com
EMAIL_PORT = 465
EMAIL_HOST_USER = '******@163.com'  # 帐号
EMAIL_HOST_PASSWORD = '******'  # 授权码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
  1. 在项目根目录执行 python manage.py runserver 127.0.0.1:8000,使项目运行起来。

  2. 在项目根目录执行 celery -A celery_tasks worker -l info -P eventlet 启动 celery 任务。

  3. 在浏览器中访问 127.0.0.1:8000,默认第一个注册用户或者第一个用 github 授权登录用户为管理员。

  4. 用刚刚注册的用户登录,登录之后在首页将鼠标移到右上方的用户名可以看到后台管理,进入即可。或者在登录之后手动
    输入 127.0.0.1:8000/admin 进入后台管理。

部分功能截图

ntKCmd.png

ntKS6e.png

ntuzlD.png

ntuxSO.png

ntujfK.png

ntKP0A.png

ntKpOH.png

架构

基于 Django + Jquery + Vditor + django-rest-framework + H-ui + Boundless-UI

鸣谢

Django
Jquery
Vditor
Django restframework
Boundless-UI
H-ui

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    545 引用 • 672 回帖
  • Django
    47 引用 • 72 回帖 • 4 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...