一、巩固基础(确保地基稳固)
-
理解 MTV 架构
-
Model(数据建模)
-
Template(前端展示)
-
View(逻辑控制)
-
-
掌握基本功能
-
URL routing(
urls.py
的使用) -
表单处理(Django Forms 和 ModelForms)
-
ORM 查询(增删改查 + Q/F 查询)
-
管理后台自定义
-
中间件(Middleware)基础用法
-
推荐资源:
-
教程项目:Django Girls(适合入门巩固)https://tutorial.djangogirls.org/
二、进阶技能(从开发者变成“工程师”)
-
项目结构与模块化设计
-
多 app 项目管理
-
使用 settings 分环境配置(如
settings/dev.py
,settings/prod.py
)
-
-
用户认证与权限
-
Django 的
auth
模块 -
自定义用户模型(如使用
AbstractUser
) -
权限系统、组(Groups)与装饰器(如
@login_required
,@permission_required
)
-
-
Django 中的异步(Async)支持
-
了解 Django 3.1+ 开始支持的 async view
-
学会识别适合异步的场景(如 WebSocket、数据抓取)
-
-
性能优化
-
数据库查询优化(select_related, prefetch_related)
-
缓存(cache framework, Redis)
-
前端静态资源收集与压缩(collectstatic、WhiteNoise)
-
练习建议:
-
实现一个带用户系统的博客或论坛系统
-
加入分页、搜索、排序
-
尝试写测试用例(unit test)
三、实战项目 & 开发习惯提升
-
RESTful API 开发
-
学习 Django REST framework(DRF)
-
掌握序列化器(Serializer)、视图类(ViewSet)等
-
Token 或 JWT 鉴权机制
-
-
部署上线
-
熟悉部署流程(Gunicorn + Nginx + PostgreSQL + Ubuntu)
-
Docker 化部署
-
CI/CD 初步了解(GitHub Actions / GitLab CI)
-
-
自动化测试
-
使用
pytest
+coverage
-
TDD 思维训练(Test-Driven Development)
-
-
安全性提升
-
防止 XSS / CSRF / SQL 注入
-
使用 Django 的安全设置(如
SECURE_HSTS_SECONDS
、X_FRAME_OPTIONS
)
-
四、深入源码 / 原理 / 社区
-
阅读 Django 源码
-
从简单的
QuerySet
入手 -
理解中间件工作流程、请求响应生命周期
-
-
贡献开源
-
看 Django GitHub 的 issues 或 PR
-
尝试为小型开源项目写补丁或文档
-
-
关注社区
-
订阅 Django Weekly / Reddit r/django
-
关注 GitHub 热门 Django 项目
-