为什么要用 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)