全书目录

第十四篇:Django 完全指南 —— 中央行政城区宇宙

第十四章:常见误区、适合场景与不适合场景 —— 别把中央行政城区用错地方

5 分钟 2,064 字 第 288 / 962 个阅读单元

先看最常见的误区。

误区 1:把 project 和 app 混为一谈。
项目是整座行政区,app 是一个业务部门。这个边界不清,后面目录、职责、路由都会乱。

误区 2:把 View 写成万能窗口。
几百行 view 函数把权限、校验、查询、业务、响应全糊一起,是 Django 新手最常见失控点。

误区 3:把模板当脚本语言。
模板里做太多业务判断,会让展示层失去边界。公文排版室不要兼任审批科。

误区 4:把 Admin 当正式用户前台。
Admin 很强,但定位是内部办公楼。它能救你做后台,不等于它适合做产品首页。

误区 5:把 migration 当缓存。
迁移文件是规划变更记录,不是临时垃圾。删错历史 migration,经常会把团队环境和生产环境一起带沟里。

误区 6:不理解 ORM 惰性执行与 N+1。
页面能跑,不代表查得合理。列表页、详情页、关联对象访问,最容易藏性能坑。

误区 7:混淆 static 和 media。
这是文件管理里的老坑,出问题时往往不是样式丢失,而是上传内容管理混乱。

误区 8:自定义用户模型拖到项目中期再做。
这类改造成本通常比想象中高得多。

然后看 Django 特别适合什么项目。

  • 后台管理密集型系统
  • 内容管理系统
  • 传统服务端渲染网站
  • 需要快速交付的中后台产品
  • 业务流程比较完整、希望“框架自带配套”的团队
  • 希望一个 Python 单体项目先把大多数基础设施站稳的团队

你会发现,这些都很像“中央行政城区”的气质:

  • 规章多
  • 流程清
  • 数据重
  • 后台强
  • 演进稳

再看不那么适合的场景。

  • 极度轻量、只想要很薄 API 层的项目
  • 从一开始就强前后端彻底分离,且 HTML 模板完全不是主战场的项目
  • 对事件驱动、超高并发异步 I/O、实时连接模型有很强偏好的场景
  • 团队非常抗拒约定、强烈偏好自己组装组件的场景

这不是说 Django 做不了,而是说:

如果你的目标不是“建一座设施完备的行政城区”,那 Django 的一整套行政配套反而可能显得厚。

最后用一句话收束:

Django 的真正价值,不在于它能帮你少写几行代码,而在于它给了你一套完整、稳定、可维护的城区治理结构。

当你的项目需要的正是一座“中央行政城区”,Django 往往会越用越顺手。


#官方来源链接清单