卡在 SaaS 项目管理模块,缺这块补这块
很多 Python Web 学习者在做项目时,后台管理能跑通 CRUD,但一到问题管理(Issue Tracking)这种复杂业务就崩了。不是后端逻辑不会写,而是前端交互太碎、表单状态难控,导致整个模块烂尾。这门课专门解决 SaaS 项目中“问题管理”模块的完整落地。它不教你写简单的增删改查,而是聚焦于一个成熟项目管理工具中核心的“提单-处理-反馈”闭环。如果你正卡在项目进度管理、或者想掌握类似 Jira/TAPD 轻量版的核心功能,这是必经之路。
适合谁看?先看什么?
基础门槛:你需要已经掌握 Django 或 Flask 的基本 ORM 操作,熟悉 Bootstrap 基础组件使用,且对 JavaScript 的事件机制有基本认知。如果你是纯后端背景,对前端 UI 库(如 datepicker、select 插件)完全陌生,建议先花半天熟悉一下 Bootstrap 表单和模态框的基本用法,否则后面会被 JS 细节劝退。如果你是全栈初学者,且刚学完用户认证和基础文章发布,这块内容正好衔接,能显著提升项目复杂度。
建议学习顺序:不要跳着看。1-1 到 1-3 是地基,重点看“问题的表结构设计”和“ORM 类映射”,这是后续所有业务逻辑的数据骨架;1-4 到 1-8 是难点集合,涵盖了样式、创建对话框、Markdown 编辑器集成、时间选择器和下拉框插件,这四个小节建议逐帧跟着敲,因为这里暴露出的 JS 闭包作用域、DOM 操作时机等问题,是初学者最容易踩坑的地方;2-1 到 2-3 进入业务深化,讲解“添加问题时的数据初始化”和“项目默认问题类型的创建逻辑”,这是让系统具备实际业务价值的关键步骤。
学完能做什么?资料怎么用?
完成本课程后,你将能够独立设计并实现一个支持多状态流转、富文本描述、精确时间标记、分类筛选的问题管理模块。你可以回答:如何设计 Issue 与 Project、User、Type 之间的关联关系?如何在同一个页面中优雅地嵌入 Markdown 编辑器并处理异步保存?如何避免模态框关闭时表单数据残留?更重要的是,你会理解 SaaS 产品中“数据结构先行,交互逻辑跟进”的工程思维。
资料配合建议:课程配套的资料包中通常包含前后端代码片段和依赖说明。请严格按章节顺序,在本地环境搭建对应版本的前后端项目。观看视频时,务必暂停并在 IDE 中同步编码,特别是涉及 Bootstrap-select 和 datepicker 插件初始化的 JavaScript 代码,直接复制粘贴而不理解参数含义,后续维护时会非常痛苦。课后作业(如 1-9 所示)通常是针对当日知识点的迷你实战,建议独立完成后再对照参考代码,这是检验你是否真的掌握“表结构-ORM-前端展示”链路是否打通的唯一标准。别急着跳过,这块内容是你从“玩具项目”迈向“企业级应用”的分水岭。
课程目录
1-1 [问题管理-1] 问题管理概述 (04:53) 1-2 [问题管理-1] 问题的表结构设计 (15:52) 1-3 [问题管理-1] 表结构对应的ORM类 (06:52) 1-4 [问题管理-1] 问题的样式处理 (11:58) 1-5 [问题管理-1] 创建问题出现对话框 (07:03) 1-6 [问题管理-1] 模态对话框和markdown编辑器的处理 (21:58) 1-7 [问题管理-1] 时间选择器datepicke (13:33) 1-8 [问题管理-1] 下拉框插件bootsrtrap-select (17:42) 1-9 [问题管理-1] 今日作业 (03:51) 2-1 [问题管理-2] 今日概要 (05:02) 2-2 [问题管理-2] 添加问题时数据初始化 (30:36) 2-3 [问题管理-2] 创建项目默认创建问题类型 (09:26) 2-4 [问题管理-2] 王洋的问题 (06:16) 2-5 [问题管理-2] 添加问题 (18:55) 2-6 [问题管理-2] 课下扩展 (03:28) 2-7 [问题管理-2] 问题列表的基本显示 (20:21) 2-8 [问题管理-2] 分页展示问题 (21:26) 2-9 [问题管理-2] 编辑页面的展示 (21:16) 2-10 [问题管理-2] 操作记录实现思路 (05:10) 2-11 [问题管理-2] 操作记录表结构设计 (05:27) 2-12 [问题管理-2] 操作记录展示(多级嵌套) (35:16) 2-13 [问题管理-2] 操作记录回复用户提示 (08:58) 2-14 [问题管理-2] 评论和回复的实现 (19:31) 2-15 [问题管理-2] 今日作业 (06:11) 3-1 [问题管理-3] 今日概要 (02:22) 3-2 [问题管理-3] 反射 (15:53) 3-3 [问题管理-3] 字符串形式获取orm字段 (14:15) 3-4 [问题管理-3] 可迭代对象 (11:30) 3-5 [问题管理-3] 问题更新实现基本思路 (08:24) 3-6 [问题管理-3] 前端标签绑定change事件 (13:10) 3-7 [问题管理-3] 后台接收到问题变更请求 (10:28) 3-8 [问题管理-3] 问题变更-文本信息 (28:48) 3-9 [问题管理-3] 问题变更-FK处理 (25:07) 3-10 [问题管理-3] 问题变更-choices处理 (06:42) 3-11 [问题管理-3] 问题变更-m2m处理 (19:57) 3-12 [问题管理-3] 问题筛选-URL搜索 (13:28) 3-13 [问题管理-3] 问题筛选-CheckFilter展示 (27:21) 3-14 [问题管理-3] 问题筛选-checkbox筛选实现 (22:29) 3-15 [问题管理-3] 问题筛选-checkbox搜索的实现 (07:41) 3-16 [问题管理-3] 问题筛选-答疑 (04:57) 3-17 [问题管理-3] 今日作业 (06:25) 3-18 [问题管理-3] 答疑 (06:41) 4-1 [问题管理-4] 今日概要 (04:52) 4-2 [问题管理-4] 筛选-FK的CheckFilter实现 (12:58) 4-3 [问题管理-4] 筛选-SelectFilter的展示 (31:25) 4-4 [问题管理-4] 筛选-SelectFilter的筛选实现 (11:19) 4-5 [问题管理-4] 筛选-SelectFilter实现关注者筛选 (02:08)





