最近我在学 2010 年代那种做网站的方式——后端渲染 HTML + SQL 数据库。以前用 Flask/Go 标准库尝试总失败,Django 让这条路变得可行。
我特别喜欢 Django 的 Query Builder:定义一套 QuerySet 方法,然后在 view 里链式调用,读起来非常干净,比裸写 SQL 更容易维护。
模板 filter 也很好用,django-jinja 加 markdown filter 让写文案变得轻松。函数式 view 上有个 @require_GET decorator 能让代码更明确。
中间件也很方便:我写了个简单的中间件,在 HTTP 503 时展示自定义维护页面,随便把 flask-limiter 桥接到 Django 来做频率限制。
也有吐槽的地方:302 redirect 默认不带 referrer-policy 比较让人困惑,csrf view decorator 默认行为有时不够安全可以 override。但总体来说体验不错。
如果你也对「不用前端框架、纯后端渲染」有共鸣,Django 值得试试。