第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发
01-crm介绍
02-权限系统介绍
03-第一版表结构设计
04-第二版表结构设计
05-orm中创建表结构
06-销售管理系统业务
07-销售管理系统权限信息录入
08-快速实现简单的权限控制的设计思路
09-快速实现简单权限之初始化用户权限
10-快速实现权限控制之权限校验
01-crm介绍
1、CRM系统初识;
2、CRM三大模块初识(权限、stark组、CRM);
02-权限系统介绍
1、权限开发的重要性;
2、什么是权限?URL==权限;
3、人和URL的关系;
4、表结构的版本迭代;
03-第一版表结构设计
1、权限表;
2、用户表;
04-第二版表结构设计
1、基于角色的权限控制RBAC;
05-orm中创建表结构
1、大目标-CRM系统;
- 权限
- Startk组件
- CRM业务
操作步骤:
1、创建Django project,luffy_permission
2、创建两个app应用;rbac(基于角色的权限组件控制)、web(销售管理系统);
3、rbac应用中,将权限相关的表编写到此models.py中;
from django.db import models # Create your models here. class Permission(models.Model): """ 权限表; """ title = models.CharField(verbose_name='标题', max_length=32) url = models.CharField(verbose_name='含正则的URL', max_length=128) def __str__(self): return self.title class Role(models.Model): """ 角色表; """ title = models.CharField(verbose_name='角色名称', max_length=32) permissions = models.ManyToManyField(verbose_name='拥有所有的权限', to='Permission', blank=True) def __str__(self): return self.title class UserInfo(models.Model): """ 用户表; """ name = models.CharField(verbose_name='用户名', max_length=32) password = models.CharField(verbose_name='密码', max_length=64) email = models.CharField(verbose_name='邮箱', max_length=32) roles = models.ManyToManyField(verbose_name='拥有所有的角色', to='Role', blank=True) def __str__(self): return self.name
4、web应用中,将销售管理系统表写到此app的models.py中;
5、将5张表-权限、角色、权限角色关系表、用户、用户角色关系表进行创建;
06-销售管理系统业务
1、博文参考;https://www.cnblogs.com/wupeiqi/articles/9178982.html
2、页面展示;
07-销售管理系统权限信息录入
1、两个app的整合;
销售管理系统中的URL:
2、权限和角色信息的分配;
08-快速实现简单的权限控制的设计思路
1、快速完成一个基本的权限控制;
2、数据库进行多表查询,效率非常低;
09-快速实现简单权限之初始化用户权限
10-快速实现权限控制之权限校验
“终身”学习,生活充满诗意!