Django 深入浅出系列课程
本系列给出了Django框架的各个知识点,可以作为知识库来使用。在其他的项目中,我会引用相关的章节,作为背景知识。 使用本课程可以顺序查阅,也可以跳跃式查看,每个章节都有代码示例。
基础篇
第1章:初见Django
- 1.1 Hello, Django!
- Web框架概念
- Django的设计哲学(DRY、快速开发)
- Django vs 其他框架对比
- 1.2 Django环境搭建
- Python环境要求
- 虚拟环境创建(venv)
- Django 5.x 安装
- 开发工具推荐
- 1.3 第一个Django项目
- 创建项目:django-admin startproject
- 项目结构解析
- 运行开发服务器
- Hello World 示例
第2章:Django MTV架构
- 2.1 Django MTV架构模式
- Model(模型)
- Template(模板)
- View(视图)
- URL配置
- 2.2 Django应用(App)
- 创建应用:python manage.py startapp
- 应用结构
- 应用注册
- 简单的博客应用示例
第3章:URL路由系统
- 3.1 Django URL配置基础
- URLconf概念
- path()函数
- 路径参数捕获
- 正则表达式路径
- 3.2 Django 高级URL特性
- 命名URL和反向解析
- URL命名空间
- 包含其他URLconf
- 实际示例:用户个人页面路由
模型与数据库篇
第4章:Django模型(Models)
- 4.1 Django 模型基础
- ORM概念
- 定义模型类
- 字段类型详解
- 字段选项
- 4.2 Django 模型关系
- 一对一关系(OneToOneField)
- 一对多关系(ForeignKey)
- 多对多关系(ManyToManyField)
- 博客文章和标签示例
- 4.3 Django 模型方法和属性
- __str__方法
- 自定义方法
- 属性装饰器
- Meta类选项
第5章:数据库操作
- 5.1 数据库配置
- 支持的数据库
- 数据库连接配置
- 多数据库配置
- 5.2 迁移系统
- makemigrations命令
- migrate命令
- 迁移文件解析
- 数据迁移示例
- 5.3 QuerySet和数据库API
- 基本查询操作
- 过滤和排序
- 聚合和注解
- 原生SQL查询
- 实际示例:文章搜索功能
视图与模板篇
第6章:Django视图(Views)
- 6.1 Django 函数视图
- 基本函数视图
- HttpRequest和HttpResponse
- 视图装饰器
- 错误处理
- 6.2 Django 类视图
- View基类
- 通用视图概念
- TemplateView示例
- 继承和混入
- 6.3 Django 通用视图详解
- ListView
- DetailView
- CreateView
- UpdateView
- DeleteView
- 完整CRUD示例
第7章:模板系统
- 7.1 Django 模板基础
- 模板语法
- 变量和过滤器
- 标签使用
- 注释
- 7.2 Django 模板继承
- 基础模板创建
- 块(block)标签
- 模板继承链
- 实际示例:博客布局
- 7.3 Django 自定义模板
- 自定义过滤器
- 自定义标签
- 模板上下文处理器
- 静态文件处理
表单与用户交互篇
第8章:Django表单(Forms)
- 8.1 Django 表单基础
- Form类定义
- 表单字段类型
- 表单验证
- 表单渲染
- 8.2 ModelForm
- ModelForm创建
- 字段自定义
- 保存数据
- 联系表单示例
- 8.3 高级表单特性
- 表单集(Formsets)
- 内联表单集
- 文件上传处理
- CSRF保护
第9章:用户认证系统
- 9.1 Django认证框架
- User模型
- 认证视图
- 权限系统
- 组管理
- 9.2 用户注册和登录
- 注册表单
- 登录/登出视图
- 密码重置
- 邮箱验证
- 9.3 权限和装饰器
- login_required装饰器
- 权限检查
- 用户组权限
- 自定义权限
高级特性篇
第10章:Django管理后台
- 10.1 Admin基础
- 创建超级用户
- 注册模型
- Admin界面自定义
- 字段显示配置
- 10.2 高级Admin配置
- 列表显示自定义
- 过滤器和搜索
- 内联编辑
- 自定义Admin动作
第11章:静态文件和媒体文件
- 11.1 静态文件管理
- STATIC_URL配置
- collectstatic命令
- CSS/JS文件组织
- 开发vs生产环境
- 11.2 媒体文件处理
- MEDIA_URL配置
- 文件上传
- 图片处理
- 文件存储后端
第12章:中间件和信号
- 12.1 中间件系统
- 中间件概念
- 内置中间件
- 自定义中间件
- 请求/响应处理
- 12.2 Django信号
- 信号系统概念
- 内置信号
- 自定义信号
- 信号处理器
实战项目篇
第13章:完整博客系统
- 13.1 项目规划
- 需求分析
- 数据库设计
- URL设计
- 功能模块划分
- 13.2 核心功能实现
- 文章CRUD
- 分类和标签
- 评论系统
- 搜索功能
- 13.3 高级功能
- 用户系统集成
- 富文本编辑器
- 缓存优化
- SEO优化
第14章:API开发
- 14.1 Django REST Framework入门
- DRF安装配置
- 序列化器
- API视图
- URL路由
- 14.2 RESTful API设计
- API版本控制
- 认证和权限
- 分页和过滤
- API文档生成
部署与优化篇
第15章:测试
第16章:性能优化
- 16.1 数据库优化
- 查询优化
- select_related和prefetch_related
- 数据库索引
- 查询分析
- 16.2 缓存系统
- 缓存框架
- 页面缓存
- 视图缓存
- 模板片段缓存
第17章:部署上线
- 17.1 生产环境配置
- settings分离
- 环境变量
- 日志配置
- 安全设置
- 17.2 部署方案
- Nginx + Gunicorn
- 云平台部署
- 静态文件CDN
- 监控和维护