Skip to content

Django框架

学到这里,你已经不再只是写零散的 Python 脚本了,而是开始进入“做网站”和“做 Web 应用”的阶段。

Django 是一个非常经典的 Python Web 框架。它帮你把网站开发里常见的事情都准备好了,比如:

  • 路由分发
  • 请求处理
  • 页面渲染
  • 表单校验
  • 数据库操作
  • 后台管理
  • 用户认证

所以你学 Django 的过程,本质上是在学习:如何把 Python 真正用到网站开发中。

本阶段目标

  • 理解 Django 在网站开发中的位置
  • 学会创建 Django 项目和应用
  • 理解路由、视图、模板、表单、模型之间的关系
  • 学会用 ORM 操作数据库
  • 学会使用 admin 后台和认证系统
  • 为后续开发完整网站打基础

Django 到底解决了什么问题

如果没有框架,你自己写网站会遇到很多重复工作:

  • 用户访问 /login/ 时,应该执行哪段代码
  • 访问数据库时,如何建立连接
  • 页面 HTML 放在哪里
  • 用户提交表单后怎么校验
  • 登录状态怎么保存
  • 后台管理页面怎么写

这些问题如果全靠你自己从零组织,会非常麻烦。

Django 的价值就在于:它提供了一套成熟规范,让你不用每次都从头搭一遍轮子。

你可以简单理解为:

  • Django 帮你搭好网站骨架
  • 你在这个骨架里填自己的业务逻辑

先建立整体认知:一次请求是怎么流动的

很多初学者一开始学 Django 时会觉得每个文件都在做事,但不知道它们怎么连起来。你要先把整体流程搞清楚。

用户访问一个页面时,通常会经历这条路径:

  1. 浏览器发起请求
  2. Django 根据路由找到对应视图
  3. 视图函数处理逻辑
  4. 如果需要数据,就去操作模型和数据库
  5. 视图把数据交给模板
  6. 模板生成 HTML 页面
  7. Django 把响应返回给浏览器

这就是 Django 的基本工作方式。

你后面学的每一节,其实都只是这条链路里的某一部分。

这一阶段的核心模块

1. 配置与启动 Django

这一步解决的问题是:

  • 如何安装 Django
  • 如何创建项目
  • 如何创建应用
  • 如何让服务跑起来

如果这一节没打牢,后面所有页面都会跑不起来。

入口章节: 配置与启动Django

2. 路由层 URLConf

路由决定“某个 URL 该交给谁处理”。

例如:

  • 访问 /
  • 访问 /login/
  • 访问 /article/5/

每个地址都需要映射到对应的视图逻辑。

入口章节: 路由层 URLConf

3. 视图层 View

视图是真正处理业务逻辑的地方。

例如:

  • 返回一个字符串
  • 返回一个页面
  • 读取 GET 参数
  • 处理 POST 提交
  • 返回 JSON 数据

入口章节: 视图层 View

4. 模板层 Template

模板解决的是“如何把数据渲染到页面上”。

如果没有模板,你只能把一大段 HTML 字符串直接写在 Python 里,这会非常难维护。

模板层让你可以:

  • 在页面里显示变量
  • 做条件判断
  • 做循环渲染
  • 复用公共页面结构

入口章节: 模板层 Template

5. 表单层 Form

表单层解决的是“如何优雅地接收并校验用户输入”。

比如:

  • 用户名是否为空
  • 邮箱格式是否正确
  • 密码长度是否足够

入口章节: 表单层 Form

6. 模型层 ORM

模型层负责和数据库打交道。

你不需要一直手写 SQL,也能完成很多常见的数据操作,比如:

  • 新增数据
  • 查询数据
  • 修改数据
  • 删除数据

入口章节: 模型层 ORM

7. admin 后台与 auth 认证

这是 Django 非常有代表性的优势功能。

它能帮你快速获得:

  • 一个可用的后台管理系统
  • 用户登录认证能力
  • 权限控制能力

入口章节: admin后台与auth认证

学 Django 时应该怎么学

这一点很重要。很多人学 Django 学不动,不是因为难,而是学法有问题。

错误学法

  • 只背命令
  • 只看别人的项目
  • 只会复制粘贴
  • 一开始就追求做复杂网站

更合理的学法

  1. 先理解每个模块是干什么的
  2. 再自己跟着写最小例子
  3. 再把几个模块串成一个小页面
  4. 最后再逐步做增删改查类项目

你要记住:Django 不是靠背出来的,而是靠一遍遍跑通请求流程理解出来的。

Django 和前端、数据库的关系

这一点也必须说清楚,否则你学着学着就会混乱。

Django 和前端

Django 本身不是前端技术,但它经常和前端页面配合使用。模板页里会写 HTML、CSS、JavaScript。

Django 和数据库

Django 通过 ORM 和数据库交互,所以数据库是 Django 项目的核心组成部分之一。

Django 和 Python

Django 是 Python 框架,所以你 Python 基础越扎实,学 Django 越轻松。

学到这一阶段后,你应该能做到什么

当你把这一阶段真正学扎实以后,你应该具备这些能力:

  • 能从零创建并启动一个 Django 项目
  • 能写一个页面并让浏览器访问到
  • 能接收表单数据
  • 能把数据保存到数据库
  • 能把数据库里的内容展示到页面上
  • 能使用后台管理数据
  • 能实现最基本的登录和权限判断

这时候你就已经不是“只会写 Python 脚本”的状态了,而是开始具备网站开发能力。

常见误区

1. 只会运行命令,不知道文件之间怎么配合

初学 Django 最怕的不是记不住命令,而是不知道:

  • urls.py 干什么
  • views.py 干什么
  • models.py 干什么
  • 模板目录为什么那样放

所以你必须从“整体流程”去理解。

2. 跳过数据库直接学页面

很多人觉得先把页面做出来更直观,但 Django 最大的价值之一就是快速做数据驱动的网站,所以数据库这部分一定不能跳。

3. 一开始就想做大项目

先从最小功能开始:

  • 一个首页
  • 一个登录页
  • 一个文章列表页

不要刚学几天就硬上商城、论坛、复杂管理系统。

推荐学习顺序

建议按下面顺序学:

  1. 配置与启动Django
  2. 路由层 URLConf
  3. 视图层 View
  4. 模板层 Template
  5. 表单层 Form
  6. 模型层 ORM
  7. admin后台与auth认证

这个顺序的核心逻辑是:

  • 先让项目跑起来
  • 再让请求走通
  • 再把页面渲染出来
  • 再处理用户输入
  • 再保存数据
  • 最后再做后台和用户体系

本阶段小结

Django 阶段的重点,不是让你死记框架 API,而是让你真正理解一个网站是如何被搭起来的。

学完这一阶段,你要逐步建立下面这个认知:

  • 路由负责分发
  • 视图负责处理逻辑
  • 模板负责展示页面
  • 表单负责校验输入
  • 模型负责操作数据库
  • admin 和 auth 负责管理和认证

只要这条主线清楚,后面你无论做博客、后台、内容管理系统,还是给爬虫做展示站,都会有清晰的落脚点。

Built with VitePress.