CRM用户关系管理系统开发

参考: https://www.cnblogs.com/wupeiqi/articles/9178982.html

一. CRM介绍

  不同的用户拥有不同的权限. stark让程序员从重复无聊的增删改查中解放出来. 最后将权限和stark应用到crm业务中. 搞好crm后可以大大缩短软件开发周期.

     

二. 权限系统介绍

  2.1 为什么需要权限控制?

  2.2 为什么开发组件?  (通用组件)

    程序员积累了大量的组件后,可以将组件应用到各种需要的软件中.省去了开发时间.

  2.3 web中什么是权限?

    url = 权限  一个人的权限有多大,就是他能访问多少个url  人 => URL

三. 第一版表结构设计

  

 

    第一版表结构设计存在的问题:  同类用户修改权限 => 麻烦  新增用户后需要分配相应的权限 => 麻烦

 四. 第二版表结构设计  基于角色的表结构设计  (对用户进行分组, 对组进行权限设计)  基于角色的权限控制简称RBAC

  

    一个用户的权限查询过程, 用户 => 角色 => 权限

五. 在orm中创建表结构  

  

   5.1 在pychar中创建第二个app的方法  参考:https://blog.csdn.net/qq_18883663/article/details/87891786

    在pycharm的工具栏找到 Tools,点击之后会有“Run manage.py task”选项,点击它之后,在pycharm下面会出现一个输入界面,在里面输入“startapp appName(你的App名称)”,回车之后就可以在工程下面看到你新建的App了。

    建立后的整个项目目录如下

    

 

   5.2 在rbac/models.py中建立表结构

from django.db import models


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
View Code

    执行数据库迁移命令

六. 销售管理系统业务

  6.1 下载整个项目压缩包文件.解压后,用pycharm打开.

  6.2  前面的项目删除掉.以后用这个了. 

 

  

posted @ 2021-03-15 09:22  蓝蓝的白云天!  阅读(440)  评论(0编辑  收藏  举报