django--权限管理思路版
1,首先创建表
用户表:user表,角色表:role表,权限表:perimission表,分组表:group表(多个权限分成一个组)
,一级菜单表:menu表(用来显示到页面上).
user表和role表:一个用户可以有多个角色,一个角色也可以是多个用户,所以2个表之间是多对多.
role表permission表:一个角色可以有多个权限,一个权限也可以有多个角色,所以2个表之间也是多对多.
permission表和group表:多个权限分成一个组,所以是一对多.
group表和menu表:一个menu表可以有多个group,所以也是多对多.
PS:1)用户表\角色表\权限表 是最基本的表,也就是必须有的表.
2)group表是把permission表分成几个组而创建出来的表,而menu表是显示一级菜单的表.
3)permission内部有一个关联自己的字段,把一个组的内容分成一在一起,但是只有字段id等于none的字段才显示在页面上.
2,插数据.
3,既然建完表,那么我们就要开始以结果为导向,想我们以后在页面要显示的样子:
左侧菜单: 右侧菜单:
用户系统: 表结构(显示各个用户的信息)
一:用户管理 该用户拥有的权限(增加,删除,修改等等,
在左侧菜单也可以显示,但是会影响美感)
订单系统: 右侧菜单:
一:订单管理 表结构(显示各个订单的信息)
该用户拥有的权限(增加,删除,修改等等,
在左侧菜单也可以显示,但是会影响美感)
4,现在来看看我们要什么东西
1,左侧菜单的所有东西(用户系统名字,下面是权限的名字(权限需要我们判断
,还用户拥有哪些权限,显示哪些权限))
2,右侧菜单的东西(用户表里的所有东西,并加上他自己的权限(增加,删除等等)
5,既然知道自己要什么,那就开始取我们要的所有东西(初始化):
1,左侧菜单需要的所有东西(包括:menu表的名字,id, permission表的id\名字\permission_gp_id(none字段 显示在页面)\codeName\url等) 2,中间件需要判断的所有东西,(权限的路径\id)
6,初始化以后,按照django的生命周期开始运行:
1)wsgi协议,不需要我们处理.
2)中间件:分为2部分.(1:判断是否含有session,比如login,和admin等命令进来就能return None)
(2:判断该用户是否含有某功能,也就是他的路径是否含有某个功能,如果没有则阻止,有就通过)
3)就是urls的创立.注意:我们创立路径的时候,就要按照我们在permission里面创建权限路径一样,不然会找不到.
4)视图函数:
a)写好函数
b)创建html文件,把我们初始化拿到的东西,渲染到页面上去.