基于Python3和Django编写的博客源码

0x00 前言

很早之前就计划着,以后等有时间一定要自己写一个博客源码出来,然后方便自己使用,主要是受loid大佬的影响,当时他用的博客就是自己写的。

0x01 博客整体架构

该架构主要是照搬 hacker 这个 基于 hexo 的前端框架使用,简洁才是美,嘿。

1
2
3
4
5
6
7
8
9
10
11
12
13
14

├─ sh1yanblog 博客源码根目录
│ ├─ about 个人简介目录
│ ├─ blog 博客文章目录
│ ├─ index 博客根目录,主要展示首页相关
│ ├─ Posts 博客归档目录
│ ├─ sh1yanblog 设置功能目录
│ ├─ static css、js、img 相关存放目录
│ ├─ templates 根模版存放目录
│ ├─ yqlj 友情链接目录
│ ├─ db.sqlite3 数据库
│ ├─ manage.py 启动项
└─ ─ ─ ─ ─ ─ ─

目前该源码为第一版,整体架构在后期优化中不会有太大变化。

0x02 目前存在的问题和以后优化方向

问题点:

  1. 文章分类和文章标签,目前只是两个坏功能点,并没有实现原前端框架中的可分类化
  2. 整体模版页面,嵌套略显繁琐,需要优化简略一些,减少可重复代码量
  3. 一些内置设置还需在代码中进行修改,未实现后台直接功能点修改

优化方向:

  1. 增加前后台文章搜索功能
  2. 数据库进行变更,不适用自带生成的 sqlite3
  3. 对新增交互的功能点增加其安全性
  4. 对访问博客产生的 log 日志,单独开辟数据分析版面,用于展示相关统计
  5. 增加博客缓存机制,使其应对大流量访问

0x03 使用说明

源码地址:

https://github.com/shiyan-520/django_blog

注:线上实际部署,请直接百度相关部署教程。

搭建使用前,需要安装一下三方模块:django_ckeditor==5.7.1、Django==2.2.7

本地源码展示使用以下命令:

1
python3 manage.py runserver 8080 --insecure

修改博客首页显示文章数据:

路径:sh1yanblog\index\views.py 第十一行

1
paging_list = Paginator(cus_list,6,1) # 这里用来设置首页显示多少文章

后台账号密码:
账号:admin
密码:administrator

0x04 界面图片展示

博客首页:

文章页面:

归档页面:

后台界面:

编写文章:

0x05 结束语

Django 真的是一个完美主义者的Web开发框架,快速的构建速度,齐全的功能模块,只要不出现逻辑上的问题或者不规范的配置编写,安全问题都不需要考虑。爱了,爱了。


基于Python3和Django编写的博客源码
https://sh1yan.top/2019/11/07/Blog-source-code-based-on-Python3-and-Django/
作者
shiyan
发布于
2019年11月7日
许可协议