🧭 零基础 Django 系统学习路线(40 小时课程规划)
2025年10月23日 22:34
面向对象:完全没有 Web 开发经验,但学过一点 Python 的初学者
总课时:40 节 × 每节 1 小时
学习目标:从 0 到能独立完成一个可上线的 Django 网站
📖 第一部分:Python 与 Web 入门(第 1–8 课)
目标:熟悉 Python 语法、了解 Web 运作机制,为 Django 打好基础
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 1 课 | Python 环境搭建与基础语法 | 安装 Python、变量、类型、输入输出 | 编写“Hello Python”程序 |
| 第 2 课 | 条件与循环 | if / for / while | 打印 1–100 偶数之和 |
| 第 3 课 | 函数与模块 | def、return、import | 写一个计算平均分函数 |
| 第 4 课 | 列表、字典、集合 | 常用数据结构 | 统计学生分数的最高值 |
| 第 5 课 | 文件与异常处理 | open、try-except | 读取文件并统计字数 |
| 第 6 课 | 类与对象 | 面向对象概念 | 创建一个简单的类 Person |
| 第 7 课 | Web 工作原理 | HTTP、浏览器与服务器关系 | 理解 URL 到响应全过程 |
| 第 8 课 | 安装 Django | 虚拟环境、pip、django-admin startproject | 成功运行本地服务 |
🌱 第二部分:Django 基础结构(第 9–14 课)
目标:了解项目结构、URL 映射与模板系统
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 9 课 | 创建 Django 项目与 App | 项目结构、settings.py | 新建项目 mysite 与 blog App |
| 第 10 课 | 视图函数 | HttpResponse、render | 返回一个 “Hello Django” 页面 |
| 第 11 课 | URL 路由系统 | path、include、命名路由 | 实现 /hello/ 访问 |
| 第 12 课 | 模板系统基础 | 模板变量、模板目录 | 创建 index.html 页面 |
| 第 13 课 | 模板继承与结构优化 | base.html、块继承 | 建立统一网站布局 |
| 第 14 课 | 静态文件管理 | static、CSS、图片资源 | 给网页添加简单样式 |
🌿 第三部分:模型与数据库(第 15–20 课)
目标:理解 ORM,学会数据模型、迁移与后台管理
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 15 课 | ORM 概念与模型定义 | models.py、字段类型 | 创建 Article 模型 |
| 第 16 课 | 数据迁移与数据库连接 | makemigrations、migrate | 同步数据库结构 |
| 第 17 课 | Django Admin 后台 | 注册模型、后台操作 | 在后台创建文章 |
| 第 18 课 | ORM 查询语法 | filter、get、order_by | 查询最新文章 |
| 第 19 课 | 模型关系 | ForeignKey、多对一关系 | 为文章绑定作者 |
| 第 20 课 | 综合练习:文章详情页 | 模型 + 视图 + 模板 | 展示一篇文章详情 |
🌾 第四部分:表单与用户系统(第 21–26 课)
目标:掌握表单处理、用户注册登录与权限控制
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 21 课 | Django Form 基础 | form 表单、POST 请求 | 实现留言表单提交 |
| 第 22 课 | ModelForm | 数据校验、自动保存 | 使用 ModelForm 发布文章 |
| 第 23 课 | 用户认证系统 | Django User 模型 | 注册与登录页面 |
| 第 24 课 | 登录控制与权限 | login_required 装饰器 | 登录后才能发文 |
| 第 25 课 | 消息提示与跳转 | messages、redirect | 登录后提示成功 |
| 第 26 课 | 前端优化与模板继承 | 导航栏、样式统一 | 使用 Bootstrap 美化页面 |
🌻 第五部分:项目功能提升(第 27–32 课)
目标:强化项目功能,增加真实感与实用性
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 27 课 | 评论系统 | 外键、多表操作 | 创建 Comment 模型 |
| 第 28 课 | 分页与搜索 | QuerySet + Paginator | 添加搜索框与分页栏 |
| 第 29 课 | 富文本编辑 | django-ckeditor | 文章富文本编辑 |
| 第 30 课 | 文件上传 | MEDIA 设置、ImageField | 上传文章封面图片 |
| 第 31 课 | 项目优化 | 模板结构与性能优化 | 整理项目目录结构 |
| 第 32 课 | 完整博客演示 | 综合功能整合 | 完成可运行的博客网站 |
🌺 第六部分:API 与前后端分离(第 33–36 课)
目标:了解 Django REST Framework,构建基础 API
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 33 课 | DRF 入门 | 安装与配置 | 输出 JSON 响应 |
| 第 34 课 | Serializer 序列化器 | 模型数据转 JSON | 返回文章列表接口 |
| 第 35 课 | ViewSet 与 Router | 自动路由生成 | 实现 /api/articles/ 接口 |
| 第 36 课 | API 权限与认证 | TokenAuth、权限控制 | 登录后才能发布文章 |
🌸 第七部分:部署与上线(第 37–40 课)
目标:掌握生产环境部署流程,理解项目上线的完整过程
| 课次 | 学习主题 | 重点内容 | 实践任务 |
|---|---|---|---|
| 第 37 课 | Linux 服务器基础 | Ubuntu 命令、环境搭建 | 远程连接服务器 |
| 第 38 课 | Gunicorn + Nginx | 部署生产环境 | 运行线上 Django 服务 |
| 第 39 课 | 数据库与静态资源 | PostgreSQL、collectstatic | 数据库部署与图片访问 |
| 第 40 课 | 域名绑定与 HTTPS | Certbot、Nginx 配置 | 网站可通过域名访问 |
🧩 进阶方向(完成课程后)
-
Django REST Framework 进阶:JWT、ViewSet、Serializer 嵌套
-
前后端分离:结合 Vue.js 或 React
-
Celery 异步任务:定时任务、后台任务
-
Docker 部署:容器化部署 Django 项目
-
大型项目结构优化:多 App 管理、分层架构
📅 推荐学习节奏(现实可行)
| 阶段 | 周数 | 内容 | 结果 |
|---|---|---|---|
| 第 1–2 周 | Python 与 Web 入门 | 理解语法与网页原理 | 能运行 Django 项目 |
| 第 3–4 周 | 模型与模板 | 实现动态网页 | 能展示数据库数据 |
| 第 5–6 周 | 用户与表单 | 完成登录与发文功能 | 拥有简易博客 |
| 第 7–8 周 | API 与部署 | 能上线运行项目 | 拥有完整网站 |
🧠 学习建议
-
每节课 1 小时建议分配:
-
讲解新知识:25 分钟
-
实战操作:25 分钟
-
复盘记录:10 分钟
-
-
每个阶段后做一次“项目复盘”:
编写一份总结笔记或视频演示
(提升总结能力 + 作品展示力) -
建议从第 10 课开始使用 Git 管理项目版本。
💡 课程最终成果
完成本学习路线后,你将能够:
✅ 理解 Django 的整体架构(MVC/MVT)
✅ 熟悉从视图到模板、数据库到后台的完整流程
✅ 开发并上线一个完整可用的博客系统
✅ 掌握基本的 REST API 能力
✅ 能阅读并修改中型 Django 项目