Django 课程大纲

基础入门

  • Django 简介和特性
  • 安装和环境设置
  • 项目结构和管理命令
  • MVT (Model-View-Template) 架构
  • 第一个 Django 应用

模型和数据库

  • 模型定义和字段类型
  • 数据库迁移
  • 查询集和管理器
  • 模型关系 (一对多、多对多)
  • 自定义模型方法

视图和 URL 配置

  • 函数视图和类视图
  • URL 模式和命名
  • 视图参数和请求处理
  • 通用视图
  • 中间件

模板系统

  • 模板语法和标签
  • 模板继承
  • 上下文处理器
  • 自定义模板标签和过滤器
  • 静态文件处理

表单处理

  • Django Form 类
  • 表单验证
  • ModelForm
  • 表单集 (Formsets)
  • 文件上传处理

认证和授权

  • 用户认证系统
  • 自定义用户模型
  • 权限和组
  • 登录、注销和注册视图
  • 基于类的权限控制

Admin 站点

  • Admin 站点定制
  • 模型注册和配置
  • 自定义 Admin 操作
  • Admin 主题和样式
  • 权限和分组管理

会话和 Cookie

  • 会话框架
  • Cookie 处理
  • 用户状态管理
  • 购物车实现

缓存机制

  • 缓存后端配置
  • 视图缓存
  • 模板片段缓存
  • 低级缓存 API
  • 缓存策略和最佳实践

REST API 开发

  • Django REST framework 入门
  • 序列化器
  • 视图集和路由器
  • 认证和权限
  • API 版本控制

测试

  • 单元测试
  • 模型测试
  • 视图测试
  • 表单测试
  • 测试客户端

安全性

  • CSRF 保护
  • XSS 防御
  • SQL 注入防御
  • 点击劫持保护
  • 安全设置和最佳实践

部署

  • 生产环境设置
  • 静态文件收集和服务
  • Gunicorn 和 Nginx 配置
  • Docker 容器化
  • CI/CD 流程

性能优化

  • 数据库优化
  • 查询优化
  • 缓存策略
  • 异步任务处理 (Celery)
  • 负载均衡

高级主题

  • 自定义模板标签和过滤器
  • 信号系统
  • 自定义中间件
  • 国际化和本地化
  • 全文搜索 (Haystack)

第三方集成

  • 社交认证
  • 支付集成
  • 邮件发送
  • 文件存储 (AWS S3)
  • 实时功能 (Channels)

项目结构和最佳实践

  • 应用设计原则
  • 代码组织和重用
  • 版本控制和协作
  • 文档编写
  • 代码质量和风格指南

Django 生态系统

  • 常用第三方包
  • Django CMS
  • Wagtail
  • Django 社区和资源
  • 持续学习和职业发展

项目实战

  • 博客系统开发
  • 电子商务平台
  • 社交网络应用
  • RESTful API 服务