第七模块:项目实战一 第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-快速实现权限控制之权限校验
第七模块:项目实战一 第1章 项目实战:CRM客户关系管理系统开发的更多相关文章
- 项目实战:CRM客户关系管理系统开发
21-CRM第一节内容概要 21.1 Stark组件介绍:实现基本的增删改查+自定义复杂操作: 21.2 单例模式:最简单的单例模式: 21.3 路由系统(分发): 21.4 制作启动文件-Djang ...
- Django项目:CRM(客户关系管理系统)--70--60PerfectCRM实现CRM学生上课记录
#urls.py """PerfectCRM URL Configuration The `urlpatterns` list routes URLs to views. ...
- Django项目:CRM(客户关系管理系统)--58--48PerfectCRM实现CRM客户报名流程学生合同
# sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...
- Django项目:CRM(客户关系管理系统)--84--74PerfectCRM实现CRM权限和权限组限制访问URL
#models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...
- Django项目:CRM(客户关系管理系统)--85--75PerfectCRM实现CRM扩展权限
# sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...
- Django项目:CRM(客户关系管理系统)--82--72PerfectCRM实现CRM动态菜单和角色
#models.py # ————————01PerfectCRM基本配置ADMIN———————— from django.db import models # Create your models ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- Django项目:CRM(客户关系管理系统)--78--68PerfectCRM实现CRM业务流程(bpm)报名缴费分页
# pagination.py # ————————68PerfectCRM实现CRM业务流程(bpm)报名缴费分页———————— from django.utils.safestring impo ...
- Django项目:CRM(客户关系管理系统)--62--52PerfectCRM实现CRM客户报名流程学生合同审核
# sales_urls.py # ————————47PerfectCRM实现CRM客户报名流程———————— from django.conf.urls import url from bpm. ...
随机推荐
- 新建oracle实例
1.安装好ORACLE服务端.2.在开始菜单中,点击ORAHOME目录下的"Configuration and Migration Tools"下的"Database C ...
- CSU 1726: 你经历过绝望吗?两次!(bfs+优先队列)
传送门: http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1726 1726: 你经历过绝望吗?两次! Submit Page Summar ...
- MySql第几行到第几行语句
1.查询第一行记录: select * from table limit 1 2.查询第n行到第m行记录 select * from table1 limit n-1,m-n; SELECT * FR ...
- 基于java的简易计算器实现
方法: 1.将string类型的表达式输入转换成后缀表达式 2.计算后缀表达式 步骤一:将string类型的表达式输入转换成后缀表达式 输入字符串表达式,并将表达式转换成char型数组 String ...
- LightOJ 1118--Incredible Molecules(两圆相交)
1118 - Incredible Molecules PDF (English) Statistics Forum Time Limit: 0.5 second(s) Memory Lim ...
- linux 安装 node 环境
本篇学习的分享主要说在linux 安装 node 环境,个人也是在腾讯云的实验室课程学习的,这里只是个人的一个学习记录, 大家也可以去腾讯的实验室来体验一下,教程十分详细易学. 1 .安装 Node. ...
- linux ping命令实践
ping 解析 Linux系统的ping命令是常用的网络命令,它通常用来检测与目标主机的连通性,经常说"ping以下机器,看是否开着,不能打开网页时候,可以ping ...
- 获取DOM
<template> <div> <header-vue :msg="msg" ref="header">heheh< ...
- [Doctrine Migrations] 数据库迁移组件的深入解析二:自定义集成
自定义命令脚本 目录结构 目前的项目结构是这样的(参照代码库): 其中,db/migrations文件夹是迁移类文件夹,config/db.php是我们项目原有的db配置,migrations.php ...
- bit_length
#当十进制用二进制表示时,最少使用的位数 v=2data=v.bit_length()print(data)