Django 学习路线

✅ 第一阶段:Django 入门基础(掌握核心开发流程)

🎯 目标:了解 Django 项目结构,掌握视图、路由、模板、模型、后台等基础功能

学习路线:

  1. Django 安装与项目创建
    • 安装:pip install django
    • 创建项目:django-admin startproject mysite
    • 创建应用:python manage.py startapp blog
  2. Django 项目结构剖析
    • settings.py:配置文件(数据库、语言、静态资源等)
    • urls.py:URL 路由配置(局部和全局)
    • views.py:编写视图逻辑(函数式 / 类视图)
    • models.py:ORM 定义数据模型
    • templates/:模板系统
    • static/:静态资源(CSS/JS)
  3. URL 分发机制(路由系统)
    • path()re_path()include() 使用
    • 命名路由 + 反向解析(reverse(){% url %}
  4. 视图函数与 HTTP 响应
    • HttpResponserender()redirect()
    • URL 参数获取、GET/POST 表单处理
  5. 模板系统(Template)
    • 模板语法(变量、标签 {% if %}{% for %}
    • 模板继承 {% extends %}{% block %}
    • 自定义模板标签与过滤器
  6. 模型系统(Model)
    • 字段类型:CharFieldIntegerFieldDateField
    • 外键、关联查询
    • ORM 操作:CRUD(增删查改)
    • 迁移命令:makemigrations / migrate
  7. Admin 管理后台
    • 注册模型:admin.site.register()
    • 自定义显示列、搜索、过滤器
    • 用户管理和权限控制

✅ 第二阶段:Django 进阶开发(掌握常用功能模块)

🎯 目标:开发中型系统,掌握认证、表单、上传、分页、会话等通用功能

学习路线:

  1. 用户认证系统(Auth)
    • 登录、登出:login() / logout()
    • 注册流程
    • 用户模型扩展(AbstractUser)
    • 权限系统(@login_required, user.has_perm()
  2. 表单系统(Form & ModelForm)
    • 表单字段验证:forms.Form / forms.ModelForm
    • 手动验证 / 自定义 clean_<field> 方法
    • 错误提示展示
  3. Django 中的 Session(会话机制)✅
    • request.session['key'] = value 保存状态
    • 获取、删除、过期时间设置
    • 存储方式:数据库 / Redis / 缓存
  4. 中间件机制
    • Django 请求生命周期(中间件执行顺序)
    • 自定义中间件、拦截器编写
  5. 消息框架(Messages)
    • 页面级别的提示:messages.success()
    • 模板中展示消息 {% for message in messages %}
  6. MVC 架构理解 ✅
    • Django 实际是 MVT:
      • Model:模型层(数据库)
      • View:逻辑控制层(视图函数/类)
      • Template:表现层(HTML 页面)
    • Django 的 “View” 是“Controller”,模板才是真正的视图
  7. 分页与搜索
    • Paginator 使用,生成分页数据
    • 前端分页按钮模板逻辑
    • 搜索功能:Q() 对象
  8. 文件与图片上传
    • FileFieldImageField 使用
    • MEDIA_URLMEDIA_ROOT 设置
    • 图片展示与上传路径控制

✅ 第三阶段:Django 高级应用与优化

🎯 目标:开发大型项目,掌握 REST API、缓存、异步任务、部署优化等能力

学习路线:

  1. Django REST framework(DRF)
    • 序列化器(Serializer / ModelSerializer)
    • APIViewGenericViewSetRouter 自动路由
    • 权限验证、认证(Token、JWT)
    • 接口测试(Postman / Swagger)
  2. 缓存系统
    • cache.set()cache.get()
    • 页面级缓存、函数缓存(@cache_page@lru_cache
    • 缓存后端使用 Redis / Memcached
  3. 异步任务队列
    • 使用 Celery + Redis 实现异步处理
    • 异步发送邮件、生成报表、定时任务
  4. 多用户权限与角色系统
    • 分组:GroupPermission
    • RBAC 权限模型设计
    • 自定义权限装饰器 / 权限中间件
  5. 安全机制
    • CSRF 防护
    • XSS/SQL 注入防御
    • 密码加密存储(PBKDF2)
    • HTTPS 配置、HSTS 设置
  6. 单元测试 / 自动化测试
    • Django 的 TestCase、客户端模拟请求
    • 覆盖率工具(coverage.py)
  7. 前后端分离开发
    • 使用 Vue/React + Django DRF 接口联动
    • CORS 配置
  8. 部署上线
    • Gunicorn / uWSGI + Nginx + Supervisor
    • collectstatic 静态资源处理
    • 环境变量管理(.env + python-decouple

✅ 第四阶段:实战项目训练

🎯 目标:通过项目综合实践,打通各个模块

难度项目名称关键点
🌱 初级个人博客系统模型、模板、分页、评论
🌿 中级用户管理系统登录、注册、权限、Session
🌿 中级文件上传/图床文件管理、Media 设置、权限验证
🌳 高级在线商城商品管理、购物车、支付接口、订单系统、DRF 接口
🌳 高级后台管理系统RBAC、分页、搜索、图表分析、异步任务

学习建议

阶段任务
入门搞懂视图、模板、模型,跑通第一个项目
进阶熟练掌握认证、权限、文件上传、分页等功能
高阶学习 REST 接口、缓存优化、异步任务、前后端分离
实战至少做 2~3 个完整项目,掌握部署上线流程

发布者:LJH,转发请注明出处:https://www.ljh.cool/43277.html

Like (0)
LJH的头像LJH
Previous 2025年7月23日 下午3:33
Next 6天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注