第七模块:项目实战一 第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-快速实现权限控制之权限校验

posted @ 2018-08-22 07:42  天晴天朗  阅读(290)  评论(0编辑  收藏  举报