**Python_DRF_Celery完成微信小程序开发实战板块导读**
本板块是小程序项目从“基础功能实现”迈向“复杂业务闭环”的关键进阶阶段。在前序课程中,我们已完成了小程序的登录、首页展示及基础拍卖流程。然而,真实的商业场景远比演示demo复杂,涉及多用户并发、状态流转、异步处理以及后台管理的精细化操作。本章节将围绕“拍卖专场管理”、“拍品全生命周期维护”以及“基于Celery的定时任务与自动退款”三大核心模块,深入剖析如何在Django REST Framework(DRF)架构下构建健壮的后端服务,并结合微信小程序前端特性完成端到端的联调。
首先,课程从**专场管理与后台业务逻辑**切入。拍卖业务的核心资产是“专场”,它不仅是拍品的容器,更是时间与资源的调度单元。在2-1至2-7节中,我们将详细讲解专场的数据模型设计、会议室预定扩展以及datetimepicker组件的前后端对接。重点在于“拍品”这一核心实体的管理:如何实现多规格(SKU)的动态添加与编辑?如何处理拍品图片的多图上传与预览?这些功能看似独立,实则紧密耦合于DRF的序列化器设计。我们将深入探讨嵌套序列化器的编写技巧,以及如何利用Django的Model Form与API Viewset高效实现拍品的增删改查(CRUD)操作,确保后台管理接口的规范性与可扩展性。
其次,**Celery异步任务与定时调度**是本板块的技术难点与亮点。拍卖业务存在严格的时间敏感性:拍卖结束时需自动生单、停止出价,而订单支付失败后需自动触发退款。这些操作不能阻塞主线程,因此引入Celery成为必然选择。在3-1至3-7节中,我们将系统讲解如何在Django项目中集成Celery,配置Redis作为消息代理与结果后端。特别要厘清`@task`与`@shared_task`的使用场景差异,以及如何定义定期执行的任务(Periodic Tasks)。我们将基于“拍卖结束”这一事件,设计一个延时任务或定时扫描任务,实现拍卖到期后的状态自动更新与订单生成,这是理解分布式任务队列在企业级应用中价值的关键一步。
最后,课程聚焦于**订单状态机与自动化退款流程**。在4-1至4-4节中,我们将分析订单表结构的设计,明确订单从“待支付”到“已支付”再到“退款中”的状态流转逻辑。核心任务是实现“拍卖结束生成订单”的自动化,以及“24小时未支付自动取消并释放库存”的退款处理机制。这要求我们结合Celery的延时任务(ETA)或周期任务,构建一个稳定可靠的状态迁移引擎。同时,课程还涵盖了项目发布的后续安排及答疑环节,帮助学员打通从本地开发到线上部署的最后 hurdles。
建议学习者在动手实践前,务必重温闭包概念与DRF基础,因为它们是实现复杂业务逻辑的基石。本板块不仅锻炼编码能力,更侧重于培养对业务流程抽象、异步解耦及数据一致性的工程思维,为独立承接中小型电商类小程序项目奠定坚实基础。
课程目录
课程目录68 集
- 1-1 [回顾] 小程序项目概述和闭包补充讲解 (01:13:39).mp4
- 1-2 [回顾] 小程序发布和登录功能回顾 (15:10).mp4
- 1-3 [回顾] 小程序拍卖业务回顾 (19:08).mp4
- 1-4 [回顾] 小程序后端API知识点回顾 (12:47).mp4
- 1-5 [回顾] 小程序后台管理业务功能 (08:05).mp4
- 1-6 [回顾] 项目后续安排预览 (04:08).mp4
- 1-7 [回顾] 后台管理任务和技术要求 (38:16).mp4
- 2-1 [拍卖] 专场管理 (52:18).mp4
- 2-2 [拍卖] datetimepicker及会议室预定扩展 (27:05).mp4
- 2-3 [拍卖] 阶段答疑 (04:33).mp4
- 2-4 [拍卖] 拍品列表和添加拍品逻辑 (43:07).mp4
- 2-5 [拍卖] 拍品规格管理 (13:33).mp4
- 2-6 [拍卖] 拍品图片管理设计 (50:55).mp4
- 2-7 [拍卖] 编辑和删除拍品 (14:30).mp4
- 2-8 [拍卖] 今日开发任务 (13:16).mp4
- 3-1 [django定时任务] 内容回顾 (19:36).mp4
- 3-2 [django定时任务] 今日概要 (04:08).mp4
- 3-3 [django定时任务] django集成celery (29:09).mp4
- 3-4 [django定时任务] celery定时任务的应用 (38:19).mp4
- 3-5 [django定时任务] 答疑:task和shared_task的区别 (15:59).mp4
- 3-6 [django定时任务] 答疑:ImageField字段和URLField字段 (20:28).mp4
- 3-7 [django定时任务] 拍卖结束时定时任务实现思路 (01:32:38).mp4
- 4-1 [退款处理] 今日概要 (05:24).mp4
- 4-2 [退款处理] 订单相关表结构 (11:13).mp4
- 4-3 [退款处理] 拍卖结束时生成订单实现 (39:20).mp4
- 4-4 [退款处理] 订单24小时不支付则逾期处理 (25:43).mp4
- 4-5 [退款处理] 开发任务 (08:13).mp4
- 4-6 [退款处理] 微信退款API和FieldField影响 (16:52).mp4
- 4-7 [退款处理] 答疑和任务安排 (14:00).mp4
- 4-8 [退款处理] django contenttypes组件 (01:08:47).mp4
- 4-9 [退款处理] 额外扩展:related_name作用 (10:32).mp4
- 4-10 [退款处理] 今日安排 (05:36).mp4
- 5-1 [优惠券] 今日概要 (11:09).mp4
- 5-2 [优惠券] 功能测试和代码梳理 (01:12:31).mp4
- 5-3 [优惠券] 功能测试:订单和退款处理 (41:42).mp4
- 5-4 [优惠券] 功能测试:逾期未支付处理 (15:00).mp4
- 5-5 [优惠券] 优惠券功能查看 (07:49).mp4
- 5-6 [优惠券] 优惠券实现思路讨论 (36:32).mp4
- 5-7 [优惠券] 优惠券管理示例:创建优惠券 (22:35).mp4
- 5-8 [优惠券] 优惠券管理示例:创建优惠券补充 (16:44).mp4
- 5-9 [优惠券] 优惠券管理示例:删除优惠券 (04:00).mp4
- 5-10 [优惠券] 优惠券管理示例:编辑优惠券 (12:55).mp4
- 5-11 [优惠券] 小程序和API示例:领券中心 (14:26).mp4
- 5-12 [优惠券] 小程序和API示例:领取优惠券 (19:50).mp4
- 5-13 [优惠券] 小程序和API示例:我的优惠券 (18:12).mp4
- 5-14 [优惠券] 今日任务 (07:27).mp4
- 5-15 [优惠券] 答疑 (09:08).mp4
- 5-16 [优惠券] 答疑补充 (01:57).mp4
- 6-1 [支付] 今日概要 (07:06).mp4
- 6-2 [支付] 内容回顾 (18:38).mp4
- 6-3 [支付] 支付业务逻辑设计讨论 (17:52).mp4
- 6-4 [支付] 表结构设计思路 (27:35).mp4
- 6-5 [支付] 表结构对应ORM类的创建 (08:53).mp4
- 6-6 [支付] 订单列表实现思路和任务 (14:56).mp4
- 6-7 [支付] 答疑:数据库迁移 (11:04).mp4
- 6-8 [支付] 答疑:订单列表API接口 (17:15).mp4
- 6-9 [支付] 订单列表小程序实现 (07:48).mp4
- 6-10 [支付] 支付实现思路和任务 (18:39).mp4
- 6-11 [支付] 申请https证书任务 (10:52).mp4
- 6-12 [支付] 小程序端支付之显示待支付订单 (20:42).mp4
- 6-13 [支付] 支付之选择优惠券、保证金、地址等处理 (38:36).mp4
- 6-14 [支付] 小程序端支付之立即支付 (26:46).mp4
- 7-1 [项目部署] 今日概要 (04:43).mp4
- 7-2 [项目部署] 项目部署https和nginx反向代理 (58:33).mp4
- 7-3 [项目部署] 项目部署django静态文件和配置的处理 (38:29).mp4
- 7-4 [项目部署] 小程序部署 (21:21).mp4
- 7-5 [项目部署] 总结:项目简历 (24:07).mp4
- 7-6 [项目部署] 项目结束及学生任务 (09:32).mp4






