Buttondown 团队为何八年不离 Django
What I love about Django
作为 Buttondown 的开发者,我用了八年时间深度打磨 Django 架构。这篇文章不讲 Django 的官方特性,而是分享我们如何将其“隐形化”:通过极简的 Middleware 处理请求生命周期,利用轻量级继承的 BaseModel 实现自动变更追踪,将业务逻辑剥离到独立的 Actions 文件中,并坚持使用函数式视图以减少上下文切换。我们刻意避开了 Signals、CBV 和传统的 Apps 模块化,甚至不用 Django Forms,转而采用 Vue 进行前端水合渲染。选择 Django 最初只是因为熟悉,但事实证明,这种“无聊”的技术栈选择,反而让代码库在长期演进中保持了极高的可维护性。
我看到的不是一个 Django 应用,而是一个结构精良的代码库,其中许多难题已被比我更聪明的人解决。
HN 评论区
113- matsemann
Django 虽然很有主见(opinionated),但也极其灵活,不像 Rails。
这意味着你可以很容易地把它塑造成适合你的用例——不喜欢 ORM?你可以插进 SQLalchemy,采用不同的“架构”。+ 如果你觉得这是条正路,你还可以使用多种不同的数据库。在 Django 里没有所谓的