Django框架
学到这里,你已经不再只是写零散的 Python 脚本了,而是开始进入“做网站”和“做 Web 应用”的阶段。
Django 是一个非常经典的 Python Web 框架。它帮你把网站开发里常见的事情都准备好了,比如:
- 路由分发
- 请求处理
- 页面渲染
- 表单校验
- 数据库操作
- 后台管理
- 用户认证
所以你学 Django 的过程,本质上是在学习:如何把 Python 真正用到网站开发中。
本阶段目标
- 理解 Django 在网站开发中的位置
- 学会创建 Django 项目和应用
- 理解路由、视图、模板、表单、模型之间的关系
- 学会用 ORM 操作数据库
- 学会使用 admin 后台和认证系统
- 为后续开发完整网站打基础
Django 到底解决了什么问题
如果没有框架,你自己写网站会遇到很多重复工作:
- 用户访问
/login/时,应该执行哪段代码 - 访问数据库时,如何建立连接
- 页面 HTML 放在哪里
- 用户提交表单后怎么校验
- 登录状态怎么保存
- 后台管理页面怎么写
这些问题如果全靠你自己从零组织,会非常麻烦。
Django 的价值就在于:它提供了一套成熟规范,让你不用每次都从头搭一遍轮子。
你可以简单理解为:
- Django 帮你搭好网站骨架
- 你在这个骨架里填自己的业务逻辑
先建立整体认知:一次请求是怎么流动的
很多初学者一开始学 Django 时会觉得每个文件都在做事,但不知道它们怎么连起来。你要先把整体流程搞清楚。
用户访问一个页面时,通常会经历这条路径:
- 浏览器发起请求
- Django 根据路由找到对应视图
- 视图函数处理逻辑
- 如果需要数据,就去操作模型和数据库
- 视图把数据交给模板
- 模板生成 HTML 页面
- 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 学不动,不是因为难,而是学法有问题。
错误学法
- 只背命令
- 只看别人的项目
- 只会复制粘贴
- 一开始就追求做复杂网站
更合理的学法
- 先理解每个模块是干什么的
- 再自己跟着写最小例子
- 再把几个模块串成一个小页面
- 最后再逐步做增删改查类项目
你要记住: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. 一开始就想做大项目
先从最小功能开始:
- 一个首页
- 一个登录页
- 一个文章列表页
不要刚学几天就硬上商城、论坛、复杂管理系统。
推荐学习顺序
建议按下面顺序学:
这个顺序的核心逻辑是:
- 先让项目跑起来
- 再让请求走通
- 再把页面渲染出来
- 再处理用户输入
- 再保存数据
- 最后再做后台和用户体系
本阶段小结
Django 阶段的重点,不是让你死记框架 API,而是让你真正理解一个网站是如何被搭起来的。
学完这一阶段,你要逐步建立下面这个认知:
- 路由负责分发
- 视图负责处理逻辑
- 模板负责展示页面
- 表单负责校验输入
- 模型负责操作数据库
- admin 和 auth 负责管理和认证
只要这条主线清楚,后面你无论做博客、后台、内容管理系统,还是给爬虫做展示站,都会有清晰的落脚点。