为什么要用 Django 做 CRM 项目
很多学习 Python Web 的同学,看教程能懂 MTV 模式,自己也搭过 Hello World,但一旦面对真实业务,发现无从下手。特别是权限管理这块,教科书里讲得少,工作中却是核心难点。这门课选择 CRM(客户关系管理)作为载体,正是因为它涵盖了企业级应用中最常见的几个痛点:多角色权限控制、动态菜单展示、数据表的规范化设计,以及前后端分离或模板渲染的复杂交互。通过这个项目,你不是在练语法,而是在补“从需求到代码落地”之间的那道坎。
适合谁看,建议先看哪几块
本课程适合已经掌握 Python 基础语法,对 Django 的基本概念(如 URL、View、Model)有一定了解,但缺乏完整项目经验的学习者。如果你是零基础,建议先补齐 Django 快速上手的基础知识,否则直接看权限系统部分可能会感到吃力。
课程的前几个章节至关重要,建议优先精读。首先是 CRM 介绍和业务梳理部分,这帮你建立整体认知;其次是两版表结构设计与 ORM 创建,这是后端数据的基石,必须理解清楚外键与多对多关系;紧接着是核心的权限系统设计,包括权限信息的录入、初始化用户权限以及权限校验逻辑。这部分代码量较大,但它是整个系统的灵魂,务必动手跟着敲一遍,理解中间件或装饰器是如何拦截请求并判断用户身份的。
学完能独立做什么,资料怎么配合
完成本课程后,你应该能够独立设计并实现一个具备 RBAC(基于角色的访问控制)能力的 Web 管理系统。具体来说,你能回答如何根据用户角色动态生成左侧菜单,如何通过数据库模型规范销售数据与客户信息,以及如何编写通用的权限校验代码防止越权访问。这些能力直接对应初级 Python 后端开发岗位的实际需求。
在练习时,资料包中的代码和文档应作为你的“错题本”和“参考书”。不要只看不练,在观看权限校验章节的视频时,先尝试自己设计校验逻辑,再对照课程的实现方案进行比对。对于表结构设计部分,可以尝试修改字段,观察 ORM 迁移命令的变化,加深理解。遇到报错时,结合资料中的完整代码片段排查,而非仅仅复制粘贴。记住,课程的价值不在于看完视频,而在于你亲手调试通的那个权限拦截瞬间。
课程目录
1-1 [了解CRM] crm介绍 (09:43) 1-2 [了解CRM] 权限系统介绍 (14:23) 1-3 [了解CRM] 一版表结构设计 (15:04) 1-4 [了解CRM] 第二版表结构设计 (10:04) 1-5 [了解CRM] orm中创建表结构 (09:19) 1-6 [了解CRM] 销售管理系统业务 (06:00) 1-7 [了解CRM] 销售管理系统权限信息录入 (11:22) 1-8 [了解CRM] 快速实现简单的权限控制的设计思路 (15:32) 1-9 [了解CRM] 快速实现简单权限控之初始化用户权限 (33:15) 1-10 [了解CRM] 快速实现简单权限控之权限校验 (29:06) 1-11 [了解CRM] 快速实现权限控制之代码完善 (19:19) 1-12 [了解CRM] 快速实现权限控制之代码完善(补充) (57) 2-1 [动态菜单] 动态菜单介绍 (04:25) 2-2 [动态菜单] 动态菜单之一级菜单实现思路 (17:50) 2-3 [动态菜单] 动态菜单之一级菜单代码编写 (43:05) 2-4 [动态菜单] 动态菜单之二级菜单实现思路 (14:08) 2-5 [动态菜单] 动态菜单之二级菜单代码编写 (39:36) 2-6 [动态菜单] 动态菜单之非菜单默认选中(一) (09:39) 2-7 [动态菜单] 动态菜单之非菜单默认选中(二) (23:52) 2-8 [动态菜单] 动态菜单之路径导航 (19:56) 3-1 [权限分配] 权限粒度控制到按钮 (35:50) 3-2 [权限分配] 权限分配功能介绍 (07:16) 3-3 [权限分配] 权限分配任务拆分 (05:20) 3-4 [权限分配] 权限分配之角色管理(一) (16:14) 3-5 [权限分配] 权限分配之角色列表和添加(二) (09:56) 3-6 [权限分配] 权限分配之角色编辑 (10:51) 3-7 [权限分配] 权限分配之角色编辑 (10:51) 3-8 [权限分配] 权限分配之角色删除 (11:57) 3-9 [权限分配] 权限分配之角色管理知识点总结 (03:17) 3-10 [权限分配] 权限分配之用户列表和添加 (26:00) 3-11 [权限分配] 权限分配之用户编辑和重置密码 (09:48) 3-12 [权限分配] 权限分配之用户删除和知识点总结 (05:32) 3-13 [权限分配] 权限分配之一级菜单的展示和选择 (23:04) 3-14 [权限分配] 权限分配之一级菜单保留原搜索条件 (44:38) 3-15 [权限分配] 权限分配之一级菜单优化添加和编辑页面图标 (18:11) 3-16 [权限分配] 权限分配之二级菜单展示 (22:09) 3-17 [权限分配] 权限分配之二级菜单增删改查 (20:25) 3-18 [权限分配] 权限分配之权限的展示 (08:46) 3-19 [权限分配] 权限分配之权限的增删改 (19:15) 4-1 [批量操作] 基于formset实现批量增加 (48:46) 4-2 [批量操作] 基于formset实现批量编辑 (22:48) 4-3 [批量操作] 自动发现项目中的所有URL (50:35) 4-4 [批量操作] 批量操作权限实现思路 (08:34) 4-5 [批量操作] 批量操作权限的页面展示 (46:03) 4-6 [批量操作] 权限的批量增删改 (35:01) 4-7 [批量操作] 权限的批量操作的知识点总结 (02:38) 5-1 [权限分配实现] 权限分配实现思路 (05:49) 5-2 [权限分配实现] 权限分配页面显示 (53:34) 5-3 [权限分配实现] 权限分配页面显示(二) (10:45) 5-4 [权限分配实现] 权限分配之选中用户拥有的权限和角色 (25:28) 5-5 [权限分配实现] 权限分配之选中角色所拥有的权限 (15:22) 5-6 [权限分配实现] 用户分配角色以及角色分配权限 (25:06) 5-7 [权限分配实现] 客户管理系统中应用权限组件 (08:23)





