前言

(本文写于 2025-09-11 )

不得不说这个 DjangoStarter 真是时间黑洞啊😡

我最近又想起来这个项目,想把之前未完成的想法给完善一下

结果打开 GitHub 看到一堆 issues

又修了一些 bug 什么的,处理了网友的问题,还有把我之前的一些设想完善一下

结果就这么久的时间过去了!!

真的是时!间!黑!洞!💢

这让我不得不反思,投入那么多时间到这个项目值得吗,有意义吗??

瘦身

反思归反思,都投入那么多沉没成本了

还是得继续做下去

现在问题是之前加了太多无关的东西,导致维护成本提升

所以这次我决定做一些减法

毕竟 less is more 😄

实践下来,可以去除的项目包括:

  • django-compressor
  • Prometheus
  • Grafana
  • 过时的前端依赖
  • unfold(待定)

所以这次除了修复bug、增加一些功能之外就是做这个瘦身

把这些可有可无的东西都去掉,以减少维护成本

主要考虑就是这些工具在小团队/独立开发的场景下,价值不大,但维护开销很高,所以决定砍掉。

具体的更新内容,可以看文章末尾的发布说明,也可以看 GitHub Releases: https://github.com/Deali-Axy/DjangoStarter/releases/tag/v3.2.1

为什么?

还是得介绍一下具体的考量,不然有同学可能会想:

  1. 为什么 django-compressor 之类的东西成了负担?
  2. 为什么 Prometheus/Grafana 这样的“好东西”要移除?

不理解为啥要把这些看起来挺有用的组件移除。

为什么要瘦身? 简单来说:小项目不能把企业级运维当成标配。很多看起来“很酷”的工具(比如 Prometheus / Grafana、django-compressor)在大型项目里非常值钱——但在一个独立开发者维护的小仓库里,它们带来的维护成本往往超过收益。

  • 监控与可视化需要额外的部署、报警与存储策略,单人维护会成为负担;
  • django-compressor 等工具在静态资源处理上引入了额外复杂度(build 步骤、node 版本、缓存问题),对快速迭代不友好;很多线上错误都与这个有关,而且有些同学可能习惯把 DjangoStarter 用于纯接口开发,那 django-compressor 就更没有必要了。
  • 过多的依赖会增加安全补丁的负担、CI 构建时间和本地复现成本。 因此我的取舍逻辑是:“有没有立刻产生价值?会不会拖慢开发/部署/排错?” 若答案是否定,果断裁掉——把时间和精力用在对用户更直观、更稳定的功能上。

思考

接下来是一些胡言乱语

以独立开发者的角度

(点进去会有更详细的实操建议和我亲测的坑点 —— 建议先看「AI 时代的全栈框架」作为入门。)

扩展

再记录一下想尝试的一些东西吧

以下两篇文章还没写好,就先占个位吧~

  • Next.js 全栈开发:我的前端技术栈全景图(2025版)
  • 为什么我想把 Rust 用到 Web 后端开发?

其他

还有就是 Rust

还好我今年的年度计划没有把 Rust 列入学习计划中

不过我确实对这个语言非常感兴趣,之前虽然用来写过几个小 demo,但没有系统学习

接下来可能会把 Rust 用于 Web 后端开发。

DjangoStarter v3.2.1 发布说明

太长不看版的说人话总结:

  1. 🧹 去掉了复杂依赖,项目更轻量
  2. 🕒 模型历史追踪,数据回溯更方便
  3. 📘 文档全面升级,AI 原生场景更清晰

下面是详细内容

✨ Features

  • 🕒 模型历史追踪:引入 django-simple-history,为所有模型添加历史记录功能,支持数据变更审计与回溯。
  • 📊 Admin 增强:为 MovieActor 模型启用 SimpleHistoryAdmin 支持,并新增 demo_seed 命令用于生成演示数据。

🐞 Bug Fixes

  • ⚙️ 修复静态文件路径配置,确保在不同环境下的 compressor 配置正确生效。

♻️ Refactor

  • 👤 用户管理:重构 UserProfile 管理逻辑,将用户资料创建从信号迁移到内联管理,并添加防重复的 InlineFormSet
  • 🗑️ 依赖清理:移除 django-compressor 及其相关配置;删除 Prometheus、Grafana、备份等不再使用的监控与依赖。
  • 🏗️ 容器与部署:简化 Nginx 配置、优化 Dockerfile 构建步骤,移除匿名卷并更新 Node.js 至 v22,同时精简无用依赖与服务。
  • 🧹 代码清理:移除未使用的扩展主页和监控相关模块,迁移部分配置逻辑以提升可维护性。

📦 Dependencies

  • ⬆️ 升级 django-unfold0.65.0
  • ⬆️ 更新 @fortawesome/fontawesome-freev6.7.2
  • 🐍 升级 Python 至 3.12,Node.js 至 22
  • 🔒 更新多个依赖(如 djangodjango-ninjaorjsonpydantic),修复安全漏洞并提升兼容性
  • ➖ 移除 async-timeoutdjango-compressorprometheus-client 等不再需要的依赖

📄 Docs

  • 📘 重写 README,强调 Django + Ninja 的 AI 原生全栈框架定位,新增典型应用场景与扩展点说明。
  • 📝 新增 开发规范与AI IDE规则,覆盖技术栈、架构设计、代码规范与测试要求。
  • 📚 补充多篇 AI 任务文档,包括日志重构、缓存配置、环境变量、CLI 工具与 URL 前缀指南。
  • 🖼️ 更新文档截图与项目展示,完善使用说明与快速上手内容。

🔧 Others

  • 🛠️ 合并多处分支冲突,统一配置文件与模板结构。
  • 🧩 调整部分 UI 与样式细节,优化暗黑模式与交互体验。

小结

如果你觉得这些思路有用,或有想看的拆分专题,欢迎:

  • ⭐ 在 GitHub 给个 star / issue(告诉我你最想要的功能或你在本地遇到的问题);
  • 💬 在文章下方留言或在公众号私信我(想看哪篇拆分文章优先出)。

我会把大家的反馈优先纳入后续的拆分文章和实战指南里——项目轻了,但路还长,咱们一起把它越做越顺手。