🎸 Django 学习路线
189 个互动教程
Django 入门 — Python 全栈 Web 框架
Django:最流行的 Python Web 框架,ORM + Admin + Auth 开箱即用
Django ORM 数据库操作
学习Django中Django ORM 数据库操作 — Django教程的详细用法和最佳实践
Django Admin — 自动后台管理
注册 Model 即得完整后台:列表、搜索、筛选、编辑
Django 表单 — 自动生成与验证
Django Forms:自动生成 HTML 表单、验证数据、防 CSRF
Django 模板引擎
变量/过滤器/标签/模板继承
Django 认证系统
用户注册/登录/权限/User模型
Django REST Framework — 构建 API
DRF:Serializer + ViewSet + Router,10 行代码完成 RESTful API
Django 中间件
请求/响应处理钩子
Django 测试 — 单元测试
Django TestCase:setUp 准备数据、断言验证
Django 信号
Signal 观察者模式解耦
Django Celery 异步任务
学习Django中Django Celery 异步任务 — Django教程的详细用法和最佳实践
Django 配置管理
settings.py 关键配置项说明
Django 模型字段
学习模型字段
Django 部署上线
Gunicorn+Nginx+PostgreSQL 生产环境部署
Django Model 深入
Field类型/查询优化/Manager/元选项
Django 视图深入
类视图/通用视图/APIView/mixins
Django REST Framework 深入
DRF深入:ViewSet/Mixin层层抽象、Serializer序列化验证、ModelSerializer自动字段、权限Permissions(IsAuthenticated/IsAdminUser/自定义)、JWT认证simplejwt
Django Channels WebSocket
Django Channels(WebSocket支持):ASGI(异步WSGI)、Consumers消费者、Channel Layers通道层(Redis Channel Layer)、实时聊天/通知、Daphne服务器
Django + Celery 异步任务
Django集成Celery:celery.py配置(Celery app/broker URL)、shared_task装饰器、Django DB作Result Backend、django-celery-beat定时任务、Flower监控面板
Django 生产部署
Django生产部署:Gunicorn+ Nginx组合、WhiteNoise静态文件服务、django-environ管理环境变量、SECRET_KEY/DEBUG配置分离、安全清单(SECURE_SSL_REDIRECT/HSTS/SECURE_HSTS)
Django QuerySet 查询集深入
Django QuerySet深入:懒加载evaluate触发点、链式过滤filter/exclude、Q对象复杂查询(~Q与或非)、F表达式原地更新避免竞态、aggregate聚合/annotate注解、select_related/prefetch_related解决N+1
Django Admin 定制
Django Admin深度定制:ModelAdmin类(list_display/list_filter/search_fields/date_hierarchy)、list_editable行内编辑、actions批量操作、自定义Admin模板/静态文件、django-import-export导入导出
Django 缓存系统
Django缓存框架:Cache Backends(Memcached/Redis/Database/LocalMemory/FileBased/Dummy)、@cache_page缓存视图、template fragment缓存、Low-level cache API(cache.set/get/delete)、缓存版本versioning
Django 文件上传
Django文件上传:FileField/ImageField模型字段、MEDIA_ROOT/MEDIA_URL配置、request.FILES获取上传文件、django-storages集成S3/Azure Cloud Storage、图片处理 Pillow、文件验证
Django Migrations 迁移深入
Django Migration迁移深入:makemigrations检测模型变更/squashmigrations压缩迁移历史/showmigrations迁移状态、RunPython数据迁移自定义Python操作、迁移冲突解决merge -merge、Reverse Migration回滚
Django Serializer 序列化
Django序列化:serializers.serialize序列化QuerySet为JSON/XML/YAML、ModelSerializer自动字段、SerializerMethodField自定义字段、source指定字段来源、嵌套Serializer嵌套关联对象、DRF Serializer VS Django原生
Django 模型字段深入
Django模型字段深入:CharField(max_length/choices)、TextField/URLField/EmailField/FileField/ImageField/DecimalField/DateField/DateTimeField/BooleanField/UUIDField、字段选项(null/blank/default/unique/db_index/editab
Django CBV 类视图深入
Django类视图CBV深入:View基类(dispatch方法分发HTTP动词)、TemplateView/RedirectView/ListView/DetailView/CreateView/UpdateView/DeleteView通用类视图、Mixin混入模式(LoginRequiredMixin/UserPassesTestMixin)、get_context_data添加上下文、ge
Django Forms 表单深入
Django Forms表单深入:Form/ModelForm(自动从模型生成字段)、form.is_valid()验证、cleaned_data清洗后数据、自定义clean_<fieldname>方法和全局clean、widget小部件定制(attrs/widget=forms.Textarea/widget=forms.SelectDateWidget)、Formset表单集合(处理多个表单)
Django Sessions 会话深入
Django Session会话深入:Session Backend后端(database/cached_db/file/cache/cookie-based/signed_cookies)、Session配置SESSION_ENGINE/SESSION_COOKIE_AGE/SESSION_SAVE_EVERY_REQUEST/SESSION_EXPIRE_AT_BROWSER_CLOSE、re
Django缓存实战
学习在Django中配置和使用缓存系统,提升网站响应速度。
Django分页技术
掌握Django内置分页器,优雅处理大量数据展示。
Django文件上传
实现安全的文件上传功能,包括模型、表单和视图配置。
Django自定义User模型
学习如何用AbstractUser扩展Django默认用户模型,添加自定义字段。
Django管理命令
编写自定义manage.py命令,实现后台任务自动化。
Django中间件实战
理解中间件原理,编写自定义中间件处理请求和响应。
Django信号实战
利用信号机制实现松耦合的事件驱动编程。
Django测试入门
使用Django测试框架编写单元测试和集成测试,保证代码质量。
Django性能优化
掌握数据库查询优化、缓存策略和静态文件处理技巧。
Django 模型 Model 层
Django Model定义、字段类型(CharField/TextField/IntegerField/DateTimeField/ForeignKey)、Meta选项、 migrations迁移(makemigrations/migrate)、ORM查询(filter/get/exclude)
Django安全最佳实践
保护Django应用免受常见Web攻击,如XSS、CSRF、SQL注入。
Django 视图 View 层
Django视图:函数视图FBV vs 类视图CBV(ListView/DetailView/CreateView)、URL路由配置、请求/响应对象、模板渲染、上下文数据
Django中间件实战
学习编写自定义中间件实现请求日志、IP黑名单等功能。
Django 模板 Template 层
Django模板语法:{{ 变量 }}、{% if/for/block/extends/include %}、模板继承、过滤器(date/length/default)、自定义标签和过滤器、静态文件管理{% static %}
Django信号实战
学习使用Django信号实现松耦合的事件驱动机制,如用户注册后发送邮件。
Django REST Framework 入门
Django REST Framework简介、安装配置、Serializer序列化器、ModelViewSet、Router自动路由、认证(Token/JWT)、权限控制、分页、API文档自动生成
Django性能优化
学习通过查询优化、缓存、懒加载等技术提升Django应用性能。
Django缓存实战
学习使用Django内置缓存框架,配置缓存后端并实现视图缓存与片段缓存。
Django缓存入门
学习如何使用Django的缓存框架来提升网站性能,包括配置、使用和常见策略。
Django ORM 自定义聚合函数实战
超越 Avg/Sum,教你编写自己的数据库聚合函数并集成到 QuerySet 中。
动态任务链与 Celery Canvas 高级编排
不单讲定时任务,深入 Celery 的 chain, chord, group 动态构造复杂工作流。
悲观锁与 select_for_update 高并发扣库存实战
绕过乐观锁常见陷阱,正确使用行级锁保证库存零超卖。
Django Channels 自定义内存层与广播模式
不依赖 Redis,实现纯内存 Channel Layer 并构建实时聊天去中心化方案。
零停机字段重命名迁移策略
避免 RenameField 造成数据丢失或缓存失效,实现平滑迁移。
异步中间件处理流式响应与请求取消
利用 ASGI 中间件实现请求生命周期内的流式读写与客户端断开检测。
基于属性的访问控制(ABAC)后端实现
超越 RBAC,根据请求上下文(用户属性、资源属性、环境)动态计算权限。
原生 Django ContentTypes 实现多态查询优化
不使用第三方库,巧用 ContentTypes + 预加载实现类似模型继承的多态查询。
基于 HTMX 的表单动态验证与部分渲染
告别全表刷新,利用 HTMX 属性在 Django 模板中实现字段级即时验证。
Elasticsearch 集成:自定义分析器与同义词搜索
不止是简单 haystack 集成,直接在 ES 层面配置领域同义词提升搜索准确性。
深入Django自定义查询表达式:超越Q与F对象
学习如何编写数据库引擎级别的自定义查询表达式,实现跨数据库函数的统一调用,例如自定义JSON路径提取或地理位置距离计算。
Django异步信号管道:不阻塞主请求的订阅者链
利用通道层和celery之外的异步机制,让信号处理函数并发执行且彼此独立,避免同步信号拖慢响应。
每个请求一个数据库:基于用户的动态多租户路由器
实现租户感知的数据库路由器,根据请求中的域名或JWT声明动态切换读/写数据库,支持物理隔离的schema。
REST API的部分响应合约:实现类似GraphQL的字段筛选器
在DRF基础上通过URL查询参数`?fields=id,name,profile.avatar`自动裁剪序列化输出,消除多余数据。
构建可切换的存储抽象层:从本地到S3再到自定义文件系统
设计一个无须修改任何模型或视图的存储适配器,允许在运行时动态切换文件后端,并支持文件版本控制。
Celery动态工作流引擎:通过数据库定义的任务DAG
允许非开发者通过管理界面拖拽式定义任务依赖链,Celery worker实时解析DAG并分布执行。
保护Webhook端点:基于HMAC签名和重放攻击防御
实现一个可复用的Django视图,验证外来Webhook的签名、时间戳和唯一nonce,防止伪造请求。
使用DataLoader模式消灭N+1查询:在Django REST中批量加载关联数据
借鉴GraphQL DataLoader概念,为DRF序列化器或自定义视图实现按需批量加载,减少数据库查询次数。
模型数据版本控制与审计日志:回溯任意历史快照
构建一个无侵入的混入类,自动记录每个模型实例的创建、更新、删除历史,并支持时间旅行查询。
内置慢查询分析器:不依赖外部工具的实时SQL监控面板
在Django admin中集成一个实时SQL分析器,记录执行时间超过阈值的查询,并展示调用堆栈和ORM代码行号。
多数据库与自定义路由:突破单库读写分离
讲解 Django 多数据库配置、自定义 Router 实现读写分离与分库策略,以及事务处理技巧。
异步任务管道:Celery 链式调度与动态重试
构建可组合的异步任务流水线,支持条件分支、动态重试策略和任务结果传递。
实时 GraphQL:Subscriptions 与 Django Channels 实战
用 Graphene + Channels 实现 WebSocket 订阅,构建聊天、通知、数据看板等实时功能。
类型安全 Django:Pydantic + mypy 消灭运行时错误
用 Pydantic 做请求校验与配置管理,结合 mypy 实现全项目静态类型检查。
附件存储工厂:对接阿里云/七牛/本地统一接口
构建可插拔文件存储后端,实现一键切换本地、OSS、S3 等存储方案。
权限矩阵引擎:基于动作-资源的细粒度控制
超越 is_staff/is_superuser,实现类似 RBAC+ABAC 的权限矩阵,支持动态策略。
零停机迁移:大表无锁 DDL 与向后兼容部署
对生产环境千万级表进行安全迁移,避免锁表与兼容性问题。
WebSocket 压测与高并发优化:Daphne + Uvicorn 调优
对 Django Channels 应用进行性能调优,包括线程池、内存管理、连接数限制。
Admin 魔法组件:自定义 Widget 与动态表单交互
开发可复用的 Admin 自定义 Widget,实现级联下拉、富文本、地图选点等高级交互。
缓存战术手册:多级缓存与缓存预热/失效策略
Redis + 本地内存组合缓存,解决缓存穿透、击穿、雪崩,以及懒加载与主动预热。
异步中间件链:在Django中构建非阻塞请求处理管道
深入探索Django中间件的异步执行机制,学习如何编写自定义异步中间件,并构建一个完全非阻塞的请求处理链,以提升高并发场景下的响应性能。
编译型查询集缓存:利用ORM字节码缓存消除N+1查询
超越简单的缓存查询结果,本教程教你在Django ORM层拦截生成的SQL编译片段,构建一个基于哈希的字节码缓存系统,从而在多次相同查询时跳过编译阶段,大幅减少数据库解析开销。
信号重放防护:为Django信号添加幂等性与去重机制
防止因重试、重复提交或异步队列消费导致的信号多次执行。本教程引入基于请求指纹和Redis锁的信号去重装饰器,确保同一信号(如支付回调)只触发一次副作用。
模板流式超媒体:使用Django模板引擎实现服务端推送SSR片段
打破传统模板一次性渲染的模式,利用Django的StreamingHttpResponse和模板的分块继承,将页面分解为可独立流出的HTML片段,实现类似HTMX的渐进式加载,无需JavaScript框架。
自定义存储后端:基于文件系统的透明加密与权限控制
扩展Django的Storage API,实现一个自动在写入时AES加密、读取时解密的自定义文件系统后端,并集成Django的权限系统进行文件级别的访问控制,确保存储介质泄露时数据安全。
查询集聚合管道:构建像MongoDB一样的链式聚合查询
借鉴NoSQL的聚合管道思想,在Django ORM上创建一组可组合的聚合步骤(筛选、分组、投影、排序),通过<code>|</code>运算符链式调用,最终生成高效SQL,简化复杂报表查询。
声明式JSON表单渲染:从Django表单直接生成前端JSON Schema
教会你如何将Django Form类自动转换为JSON Schema和UISchema,结合前端库自动生成表单界面,实现后端定义表单、前端无需硬编码的声明式架构。
零停机迁移策略:通过影子表与渐进式模式迁移改造生产数据库
超越简单的<code>migrate</code>命令,学习如何在不锁表、不中断服务的情况下执行高风险迁移(如重命名列、修改约束)。使用影子表、触发器、双写策略实现平滑过渡。
缓存失效图:基于依赖追踪的智能缓存驱逐系统
设计一个基于有向无环图(DAG)的缓存依赖追踪系统,当某个数据变更时,自动找到所有依赖它的缓存键并驱逐,避免手动清除或缓存雪崩。
WSGI/ASGI混合协议适配器:在同一个Django应用中同时运行同步和异步视图
解决Django项目中同时存在同步ORM调用和异步第三方API请求时的协议冲突问题,构建一个智能路由适配器,根据视图类型自动切换运行环境,无需拆分服务。
信号驱动的消息中间件:解耦业务与通知
利用 Django 信号(Signal)设计一套松耦合的消息中间件,实现业务逻辑与邮件、短信、WebSocket 通知的完全分离。
自定义数据库路由器:实现多租户读写分离
通过 Django 的 DATABASE_ROUTERS 机制,编写自定义路由器实现按租户(tenant)自动选择数据库,并支持主从读写分离。
动态定时任务:在运行时创建与管理 Celery Beat 周期任务
突破静态 crontab 限制,通过 Django Admin 或 API 动态增删改查周期性任务,并实时生效。
流式响应实战:用 StreamingHttpResponse 导出千万级 CSV 不爆内存
解决大文件导出时的内存爆炸问题,利用生成器与 StreamingHttpResponse 实现边生成边下载。
子查询与窗口函数:在 ORM 中实现复杂报表聚合
超越简单的 annotate 和 aggregate,使用 Subquery、Window 和 Exists 实现分组内排名、累计和、多表关联聚合。
无刷新仪表盘:用 HTMX + Django 构建实时数据图表
放弃前后端分离的复杂 REST 架构,利用 HTMX 的 hx-trigger 轮询与 Django 模板片段,每 5 秒自动刷新 KPIs。
可插拔验证管道:设计模型与表单的渐进式验证引擎
不满足于简单的 clean() 方法,实现一个链式验证器(Validator Pipeline),支持按顺序执行多个独立验证规则。
无限级嵌套评论:基于 MPTT 的时间戳排序与分页
利用 django-mptt 实现高性能的树形评论,并解决“按时间排序但保持父子关系”的经典难题。
数据迁移高级模式:在已有表中安全添加非空字段
当线上数据库已有百万行数据时,如何优雅地添加一个非空字段并填充默认值,同时保证零宕机。
秒传属性系统:自定义模板标签实现动态 HTML 属性注入
开发一个 {% attrs %} 模板标签,支持在模板中动态合并、覆盖 HTML 属性,解决 Bootstrap 组件属性传递的冗长问题。
Django ORM 与 PostgreSQL 物化视图的智能同步
深入探讨如何将 PostgreSQL 物化视图无缝集成到 Django ORM 中,实现数据读取性能的极致优化,并处理自动刷新策略。
在传统 WSGI 部署中实现 Django GraphQL 订阅
展示如何绕过 Django 默认的 ASGI 限制,在 Apache/nginx + uWSGI 环境下构建基于 WebSocket 的 GraphQL 订阅端点,并集成频道层。
Django ORM 联合查询与异构模型的聚合分页
深入讲解如何利用 union、intersect、except 操作符合并多个不同模型的查询集,并实现统一的排序与分页,同时保持类型安全。
设计可插拔的 Django 通用视图:动态模板与权限工厂
从零构建一套高度可配置的通用视图基类,允许通过 URL 参数或 DB 配置动态切换模板、表单和权限规则,实现类似 CMS 的灵活性。
混用 Django ORM 与 SQLAlchemy 2.0 实现异步分析报表
在 Django 项目中平行使用 SQLAlchemy 2.0 异步引擎处理复杂分析查询,避免阻塞主线程,并保持与 Django 模型的元数据同步。
利用 PostgreSQL 逻辑复制构建 Django 实时数据管道
基于 PostgreSQL 逻辑解码机制,创建不依赖外部消息队列的变更数据捕获系统,实时同步 Django 模型变更到 Redis/Elasticsearch。
编写 Django 自定义查询表达式:JSONB 深度路径操作与索引
通过自定义 Lookup 和 Func 类,为 PostgreSQL JSONB 字段添加原生不支持的路径查询和数组操作,并确保查询优化器使用 GIN 索引。
用变异测试与随机序列保证 Django 业务逻辑的鲁棒性
超越常规单元测试,引入变异测试框架 mutpy 和 Hypothesis 状态测试,自动发现 Django 模型方法和视图中的隐藏 Bug。
在 Django 响应管道中注入 HTTP/3 早期提示与资源推送
利用 ASGI 中间件和服务器推送协议,在生成 HTML 的同时发送 Link 头部触发 103 Early Hints,将首屏加载时间降低 40%。
Django 嵌套事务与保留点深入:隔离级别与原子性陷阱
剖析 Django 事务的嵌套实现原理,揭示 savepoint 在并发、异常回滚和跨数据库时的隐藏行为,并给出最佳实践。
在Django中利用PostgreSQL JSONB字段构建高级搜索引擎
学习如何在Django模型中使用PostgreSQL的JSONB字段,并利用其索引和查询能力实现高效的嵌套数据搜索,包括GIN索引优化、键路径查询以及全文搜索的混合使用。
动态任务管道:基于Celery和Django构建可配置的数据处理流程
讲解如何设计一个插件式的任务系统,允许管理员通过Django Admin动态编排任务顺序、参数和重试策略,而无需修改代码。涉及Celery Canvas、链式任务、动态导入和数据库驱动的任务配置。
基于数据库Schema的Django多租户架构实战
学习使用django-tenants库为每个客户创建独立的PostgreSQL schema,实现数据隔离、共享代码和自动路由。覆盖schema创建/迁移、公共与租户模型分离、中间件自动切换以及跨租户查询的性能考虑。
基于Django Channels和GraphQL Subscriptions构建实时协作编辑器
整合graphene-django与Django Channels,实现WebSocket驱动的GraphQL Subscription,让用户实时看到文档变更。涵盖认证与订阅上下文、自定义AsyncConsumer、群组广播以及操作合并去抖。
超越Filter: 用自定义SQL表达式实现复杂JOIN与聚合窗口函数
深入Django ORM底层,学习编写自定义Func、Aggregate和Expression类,以支持LATERAL JOIN、ROW_NUMBER窗口函数以及自定义聚合。通过一个时序数据对比案例,展示如何在不使用raw()的情况下榨干数据库特性。
Django异步视图与ASGI流式响应:构建ChatGPT式流输出
利用Django 3.1+的原生异步视图和StreamingHttpResponse,实现大语言模型结果逐字输出到前端。涵盖asgiref sync_to_async、数据库异步查询、StreamingHttpResponse与SSE协议的结合,以及异步中间件编写。
基于属性的测试与模糊测试:用Hypothesis武装Django模型与API
超越传统单元测试,使用Hypothesis库对Django模型和REST API进行基于属性的测试,自动生成边界值、非法输入和状态序列,从而发现隐藏的bug。结合Django TestCase和DRF的APIClient,覆盖模型约束验证、序列化器逻辑和视图权限。
自定义存储后端:从零实现兼容S3的MinIO分布式文件管理
详细讲解如何编写Django自定义存储后端(继承Storage类),对接MinIO(S3兼容对象存储)。包括读取/写入/删除/列出文件、生成预签名URL、设置文件元数据、CDN集成以及迁移现有FileField数据至对象存储。
数据迁移的艺术:用Django迁移脚本安全重构生产数据库
重点讲解数据迁移(Data Migration)的高级模式:零停机重命名字段、大表分批迁移、逆向迁移回滚、跨数据库后端的兼容性处理。结合RunPython和atomic块,确保迁移可重入且不影响线上服务。
Django + HTMX 内联编辑工作流:无JS的复杂表单交互
利用HTMX的hx-trigger、hx-swap和片段渲染,构建类似Notion式的内联编辑体验:点击文字直接编辑、行内添加子项、动态表单验证、乐观UI更新与错误回滚。无需编写一行JavaScript。
DRF序列化器性能调优:缓存预取与惰性加载实战
深入剖析DRF序列化器在大数据量下的性能瓶颈,讲解如何结合select_related、prefetch_related与自定义缓存策略实现毫秒级响应。
异步信号链:基于Daphne的跨进程事件驱动架构
超越简单信号监听,讲解如何利用Django异步信号(async_signal)与Redis Pub/Sub构建分布式事件链,实现微服务间实时通知。
编写自有存储引擎:从SFTP到对象存储的零停机迁移
不依赖第三方库,从零实现一个支持断点续传、版本控制、元数据索引的Django存储后端(StorageBackend)。
公式驱动字段:在ModelField中嵌入Excel表达式引擎
实现一个类似Excel计算字段的ModelField,自动根据公式计算值,支持引用其他字段、聚合函数、条件逻辑。
手写SQL查询调试中间件:自动捕获N+1与慢查询并告警
构建一个Django中间件,自动检测每个请求的SQL查询次数、重复查询、慢查询,并实时推送告警到开发者钉钉/邮件。
像Git一样管理模型版本:行级差异快照与回滚
实现一个ModelVersionMixin,自动记录每次保存的diff(基于JSON Patch),支持按时间点或版本号回滚,且不影响主表性能。
基于属性的API模糊测试:自动发现视图层安全漏洞
结合Hypothesis库与Django测试客户端,自动生成非法/边界输入,测试所有视图的权限、序列化、SQL注入等安全隐患。
双向外键:无ORM声明式实现数据库级图关联
突破外键单向约束,通过PostgreSQL Exclusion Constraint与触发器实现双向关联,允许外键互相指向并自动维护对称性。
在Django中玩转HTTP/3:使用aioquic实现服务端推送与0-RTT
基于aioquic库,让Django应用支持HTTP/3协议,实现真正的服务端推送和0-RTT连接,大幅提升移动端首屏加载速度。
运行时类型系统:让Django模型支持动态字段增删而不迁移
实现一个DynamicModel,允许在运行时增加/删除字段,数据以JSONB存储但通过Descriptor伪装成普通字段,且支持索引。
Django ASGI WebSocket ORM 桥接模式
构建一个通过WebSocket实时推送ORM变更事件的后台服务,实现无轮询的数据库监听与推送。
利用数据库约束与表达式索引增强数据完整性
在Django中使用CheckConstraint、UniqueConstraint以及数据库表达式索引,代替应用层验证。
构建动态任务调度器:运行时修改Crontab与间隔
使用Django内置的数据库调度接口,结合Celery Beat,实现无需重启即可增删改定时任务。
ORM进阶:子查询聚合与公用表表达式(CTE)
通过django-cte和原生Subquery实现复杂的跨表聚合统计。
自定义存储后端:实现预签名直传S3并记录文件元数据
在Django中集成AWS S3预签名URL,使用户直接上传到S3,后端只记录元数据。
GraphQL变异处理模式:结合SQLAlchemy作为只读后备存储
Django ORM用于写入,SQLAlchemy用于复杂只读查询,通过GraphQL统一接口。
DRF视图集action级别权限矩阵与动态角色
为REST框架的每个动作(create, update, partial_update, destroy)定义独立的权限组合。
数据库路由器:基于租户标识的水平分片
利用Django的数据库路由器将不同租户的数据自动路由到不同的物理数据库。
自定义模板引擎:带变动跟踪的晶片缓存标签
编写一个模板标签,能缓存某个片段并在依赖模型变动时自动失效。
异步数据迁移:在迁移中安全执行大批量数据变换
利用RunPython与异步任务队列,在数据库迁移期间执行非阻塞的数据转换。
Django ORM 查询表达式树与执行计划优化
深入 Django ORM 如何将 QuerySet 编译为 SQL 表达式树,并通过执行计划分析工具(EXPLAIN)进行索引优化,包括自定义查询编译钩子。
Django 异步信号与 Channels Layer 深度集成
利用 Django 3.0+ 异步信号与 Channels 自定义层,构建实时事件驱动的非阻塞工作流,区别于普通异步视图教程。
Celery Beat 动态热加载与分布式锁调度
基于 Django-Celery-Beat 实现运行时动态修改定时任务,无需重启 worker,并引入 Redis 分布式锁防重入。
Pydantic V2 + Django Model 双向序列化与严格校验
使用 Pydantic V2 替代 DRF Serializer,实现从 Model 到 Pydantic Schema 的自动推导以及自定义字段校验链。
基于 SAML2 的 Django 自定义认证后端与属性映射
深入 SAML2 协议实现 SSO 单点登录,包括自定义属性映射、会话管理以及 Service Provider 元数据动态生成。
Django 迁移与物化视图的版本化管理
利用 Django 自定义迁移操作(RunSQL)管理 PostgreSQL 物化视图的创建、刷新和版本回退,完全集成到 makemigrations 流程。
Django + Strawberry GraphQL Subscription 与 ASGI 长连接模式
使用 Strawberry GraphQL 实现 Subscription 订阅,基于 ASGI 的 Channel Layer 推送实时数据,并处理连接生命周期。
Django 动态权限规则引擎与表达式解析
实现一个可配置的权限规则引擎,允许管理员通过 UI 定义复合条件(与或非、属性比较),自动生成权限检查表达式。
基于 hypothesis 的 Django 属性基测试与自动数据工厂
使用 hypothesis 库结合 FactoryBoy 自动生成边界用例,对 Django Model 和视图进行基于属性的测试(Property-Based Testing)。
Django 自定义存储后端:S3 兼容 MinIO 的分片上传与签名URL
编写一个完全自定义的 File Storage 后端,支持 S3 分片上传、预签名 URL 和断点续传,且兼容 MinIO 私有部署。
基于Actor模型的Django ASGI WebSocket中间件设计
使用Python的asyncio与Actor模型思想,构建一个去中心化的WebSocket消息路由系统,替代传统channel layer,提升高并发下的消息吞吐与错误隔离能力。
用PostgreSQL SKIP LOCKED实现轻量级任务队列
不依赖Celery或RabbitMQ,仅利用Django ORM + PostgreSQL的SKIP LOCKED特性,构建一个可靠、可监控的数据库级任务队列,适用于中小型项目。
函数组合式中间件链:超越类的管道设计
用函数式编程的组合子模式重构Django中间件,实现可插拔、可测试的纯函数管道,替代基于类的process_request/response。
多租户字段级加密:每个租户独立密钥管理
为SaaS应用实现字段级透明加密,每个租户拥有独立的加密密钥,且密钥存储在外部KMS中,Django侧通过模型字段自动加解密。
基于Git的自动API版本控制:URL零改动
利用Django中间件与URL反转算法,根据请求的Accept头或查询参数自动路由到不同版本的视图,无需维护多个urls.py文件,且版本定义基于代码仓库标签。
用Server-Sent Events实现GraphQL Subscription
不依赖WebSocket,利用Django的StreamingHttpResponse与Server-Sent Events (SSE)协议,为GraphQL Subscription提供轻量级实时推送,兼容CDN与普通HTTP代理。
物化路径树结构:用Ltree与PostgreSQL实现高效祖先查询
利用PostgreSQL的ltree扩展与Django ORM的RawSQL,实现树形数据(如评论、分类)的快速祖先/后代查询,避免N+1和递归CTE的性能问题。
Celery Prefork池下的装饰器模式:任务上下文自动注入
利用装饰器在Celery任务执行前自动注入数据库连接、日志追踪ID、权限上下文,避免在每个任务中重复样板代码,同时确保Prefork进程安全。
用JSON Schema替换DRF Serializer:声明式API校验
使用JSON Schema作为序列化与验证的唯一真相源,结合DRF的渲染器与解析器,实现前后端共享同一套校验规则,同时支持OpenAPI文档自动生成。
基于表级哈希的查询缓存自动失效策略
实现一个细粒度的缓存失效系统,通过监控数据库表变更事件计算哈希,自动使依赖于该表的缓存键失效,无需手动清除或设置过期时间。
用物化路径实现 Django ORM 树形结构
学习在 Django 中不依赖第三方库,通过物化路径(Materialized Path)设计高效树形数据模型,支持快速子树查询与移动节点。
信号驱动的竞态条件防御模式
深入 Django 信号机制,揭示异步请求下信号处理器的竞态危害,并给出基于数据库锁与事务隔离的解决方案。
编写自定义数据库函数:窗口聚合与排名
超越 built-in 函数,通过 Func 与 Window 类创建可复用的数据库窗口函数,实现像 RANK、LEAD 等复杂 SQL 功能。
Celery Chord 动态任务编排与回调
利用 Celery Chord 实现动态任务依赖图,支持运行时添加子任务并等待所有完成后再执行回调,适用于数据管道。
异步视图中的 ORM 连接池管理
在 Django 3.1+ 异步视图中正确使用 ORM,解决数据库连接池耗尽与事务隔离问题,提升高并发场景吞吐量。
PostgreSQL HStore 字段与零停机迁移
使用 Django 的 HStoreField 存储动态属性,并设计安全的数据迁移策略,避免生产环境锁表。
编写可组合的权限后端:ABAC 属性级控制
超越 Django 内置权限系统,实现基于属性的访问控制(ABAC)后端,支持动态规则如时间、IP、用户属性组合。
测试工厂模式:动态 Fixture 与 Scenario 构建
使用 factory_boy 和 Faker 构建复杂的测试数据场景,结合 pytest fixture 实现可复用的测试上下文。
中间件优先队列:按条件降级或限流请求
设计智能中间件,根据用户等级或请求路径动态调整处理优先级,并在高负载时优雅降级。
MPTT 树结构的 Redis 缓存失效策略
为 Django-MPTT 管理的树状数据设计精确的缓存失效方案,避免全表缓存清除。
编写自定义缓存后端:从内存到分布式文件系统
深入Django缓存框架的底层架构,手写一个基于文件锁和共享内存的混合缓存后端,支持多进程安全读写与自动过期。
构建声明式数据过滤器:超越 django-filter 的 AST 解析
解析用户输入的类SQL查询字符串,转化为Django ORM Q表达式,实现动态多表关联过滤,无需定义FilterSet。
基于JSON Schema动态生成表单:无代码配置后台
设计一套元数据驱动表单系统,管理员通过JSON Schema定义字段类型、验证规则和布局,前端自动渲染为Django Form。
实现业务感知的读写分离路由器:按模型、操作类型分发
超越简单的随机分库,根据模型归属(日志/核心业务)和操作类型(查询/变更)智能路由到不同的读写副本集群。
异步信号与分布式锁:防止高并发下重复处理
在Django异步视图中使用信号解耦业务,结合Redis分布式锁确保幂等性,防止事务边界外的重复消费。
编写Markdown模板引擎:让.md文件直接支持Django标签
将Django模板语法嵌入Markdown文件,实现动态内容与纯文本分离,同时保持Markdown的可编辑性。
为管理命令注入AI Agent:自然语言操作数据库
在自定义manage.py命令中集成LangChain Agent,允许用户通过对话式指令执行复杂数据迁移、清洗和报告生成。
基于IPFS的去中心化存储后端:文件永存且可验证
编写Django存储后端,将上传的文件自动上传到IPFS网络,返回内容哈希(CID)并可选存储到Filecoin进行持久化。
窗口函数与子查询:实现复杂分析报表(无需RawSQL)
利用Django 4.2+的窗口函数和子查询API,在ORM层面完成排名、同比环比、移动平均等分析查询。
GraphQL订阅与Django Channels:建立实时双向数据管道
在Django中实现GraphQL订阅(Subscription),通过WebSocket推送数据库变更,支持按客户端筛选事件。
利用自定义中间件实现请求状态机
通过Django中间件钩子构建有限状态机,管理请求生命周期内的状态流转。
基于信号的脱敏审计日志系统
使用Django内置信号和自定义信号,自动记录数据变更但自动脱敏敏感字段。
基于Redis优先级队列的异步任务编排
利用Django + Redis实现支持优先级、延迟执行和任务依赖的异步队列。
多数据库分片读写分离与动态路由
根据模型类型或用户ID实现水平分片,并动态切换数据库连接。
编写动态表单渲染的自定义模板标签与过滤器
基于JSON schema动态生成表单HTML,并支持复杂嵌套布局。
基于版本号的细粒度缓存失效策略
使用全局版本号与局部版本号组合,精准失效部分缓存而不清空全部。
实现自适应滑动窗口限流算法
基于用户行为自适应调整速率限制,防止恶意访问但不影响正常用户。
带断点续传能力的有状态数据迁移命令
实现一个可中断重启的management command,处理百万级数据时保存进度。
使用VCR模拟外部API并消除网络依赖
通过录制-重放HTTP交互,确保测试稳定且快速,无需真实API调用。
基于Django Channels的GraphQL订阅实现实时推送
在Django中集成GraphQL订阅,通过WebSocket将数据库变更推送给客户端。