第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

时间:2022-05-23 01:50:20

01-crm介绍

02-权限系统介绍

03-第一版表结构设计

04-第二版表结构设计

05-orm中创建表结构

06-销售管理系统业务

07-销售管理系统权限信息录入

08-快速实现简单的权限控制的设计思路

09-快速实现简单权限之初始化用户权限

10-快速实现权限控制之权限校验

01-crm介绍

1、CRM系统初识;

2、CRM三大模块初识(权限、stark组、CRM);

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

02-权限系统介绍

1、权限开发的重要性;

2、什么是权限?URL==权限;

3、人和URL的关系;

4、表结构的版本迭代;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

03-第一版表结构设计

1、权限表;

2、用户表;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

04-第二版表结构设计

1、基于角色的权限控制RBAC;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

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张表-权限、角色、权限角色关系表、用户、用户角色关系表进行创建;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

06-销售管理系统业务

1、博文参考;https://www.cnblogs.com/wupeiqi/articles/9178982.html

2、页面展示;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

07-销售管理系统权限信息录入

1、两个app的整合;

销售管理系统中的URL:

2、权限和角色信息的分配;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

08-快速实现简单的权限控制的设计思路

1、快速完成一个基本的权限控制;

2、数据库进行多表查询,效率非常低;

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发

09-快速实现简单权限之初始化用户权限

10-快速实现权限控制之权限校验