惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
B
Blog
小众软件
小众软件
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
I
InfoQ
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
H
Help Net Security
雷峰网
雷峰网
S
SegmentFault 最新的问题
V
Visual Studio Blog
爱范儿
爱范儿

追梦人物的博客

小度智能设备接入 Home Assistant,支持小爱同学语音控制 - 追梦人物的博客 0x05:Merkle Tree & Patricia Trie 0x04:ECDSA - 以太坊设计与实现 LeetCode 105 从前序与中序遍历构造二叉树 迭代算法原理 + 完整证明 0x03:Address - 以太坊设计与实现 0x02:Secp256k1 - 以太坊设计与实现 0x00:专栏开篇 - 以太坊设计与实现 0x01:RLP 编码 - 以太坊设计与实现 Bellman-Ford 算法原理及其在 DeFi 套利中的应用 - 追梦人物的博客 迪杰斯特拉(Dijkstra)最短路径算法原理、实现与证明 - 追梦人物的博客 实战:CEX-DEX 稳定币套利监控程序开发 - 追梦人物的博客 CEX-DEX 稳定币套利模型 - 追梦人物的博客 Uniswap 手续费和协议费机制剖析 - 追梦人物的博客 Uniswap 流动性机制及相关数学原理分析 - 追梦人物的博客 uv 替代 pyenv + pipx + poetry 环境管理实践 Rust 项目从创建到发布 - 追梦人物的博客 VS Code 调试 Python - 追梦人物的博客 比特币跨市场套利的数学模型 - 追梦人物的博客 ERC-20 相关知识点总结 - 追梦人物的博客 Django 老项目如何从 SQLite 迁到 PostgreSQL 自动生成接口文档 - HelloDjango - django REST framework 教程 单元测试 - HelloDjango - django REST framework 教程 限制接口访问频率 - HelloDjango - django REST framework 教程 API 版本管理 - HelloDjango - django REST framework 教程 如何在 Windows 下搭建高效的 django 开发环境 拓展Python Markdown - 追梦人物的博客 加缓存为接口提速 - HelloDjango - django REST framework 教程 基于 drf-haystack 实现文章搜索接口 - HelloDjango 评论接口 - HelloDjango - django REST framework 教程 实现分类、标签、归档日期接口 - HelloDjango - django REST framework 教程
博客代码开源啦 - 追梦人物的博客
2019-09-19 · via 追梦人物的博客

此前很多同学和我要过博客的源码,但由于当时代码实在写的太烂,没好意思给,也没好意思把代码放到 GitHub 上,怕人见笑。

最近一段时间终于下定决心来把博客的代码好好重构了一遍,由于前期代码实在写的太烂,重构过程也是异常艰辛,几乎等同于重写,当然也从中学习了很多新的知识,稍微列举一下重构的内容吧。

  • 重构全部模板。之前为了省事,各种同内容的模板都是复制粘贴,导致大量重复的模板内容,模板也没有拆分,一个模板包含大量内容,难以进行模块化维护。重构后,灵活使用自定义模板标签和 include 标签,模板内容更加模块化,复用性大大增强。
  • 重构模型。此前由于模型多次改动,以及重构过程中模型的改动,导致产生了大量 migrations 记录。这里我学会了在不破坏数据库数据的情况下,如何清理掉历史 migrations 记录,重新生成全新的 migrations 文件。
  • 重构全文搜索。搜索用的 django-haystack + whoosh + jieba分词的方案,关键是要解决中文搜索的问题。之前从网上参考他人的博客文章,但实现其实很不优雅。这次直接参考 django-haystack 的源码,优雅地实现了中文全文搜索。
  • 重写整个前端。重写了整个 UI,非常注重响应式设计,移动端访问也有非常好的效果。此前静态资源是一股脑地扔到 app 里,没有打包,导致博客访问时需要加载大量静态资源。重构后引入 Webpack 作为打包工具,前端开发变得异常轻松。
  • 重构了整个评论系统,采用 Vue + django-restframework 前后端分离开发方案,评论体验前所未有地提升。
  • 引入 Docker 部署方式,几条命令就可无痛上线运行。
  • 其他各种细节上的优化...

倾注了大量精力重构后,自我感觉博客代码勉强可以达到与君一阅的水平,所以将代码放在了 GitHub 上,请君指点。

当然,现在博客仍然有很多不足的地方,所以暂且 release 为 0.1.0 版本吧。

不过,v0.1.0 只是开始,后续将持续加入各种新的特性,具体可以看 django-blog-project 版本规划与新功能开发路线图

说了这么多,代码在哪呢?

在这里:django-blog-project

走过路过还请不吝给个 star(o(* ̄3 ̄)o

-- EOF --