上一页 1 2 3 4 5 6 7 8 ··· 18 下一页
摘要: 效果图: 增加页面: 编辑页面: 因为后面要对权限进行批量操作,所以先用这个示例演示下如何实现批量操作 数据库 一、配置路由 二、forms表单验证 三、视图函数 四、模板渲染 multi_add.html multi_edit.html edit和add的区别是edit多了个id并把id隐藏起来了 阅读全文
posted @ 2019-03-11 17:43 梁少华 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 效果图: 三级菜单的实现和一级、二级菜单差不多。需要注意的是增加三级菜单时,三级菜单是用户提交后在后台通过二级菜单的id添加的。 一、路由分发 rbac/urls.py 二、forms表单验证 rbac/forms/base.py rbac/forms/menus.py 三、视图函数 rbac/vi 阅读全文
posted @ 2019-03-11 10:59 梁少华 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 效果图: 二级菜单的展示和增删改查 二级菜单和一级菜单逻辑差不太多。有以下两点需要注意: 一、配置URL rbac/urls.py 二、forms表单验证 forms/base.py forms/menu.py 三、视图函数 rbac/veiws/menu.py 四、模板渲染 rbac/templa 阅读全文
posted @ 2019-03-10 18:21 梁少华 阅读(729) 评论(0) 推荐(0) 编辑
摘要: 效果图: 一、路由配置 rbac/urls.py 二、forms表单验证 rbac/forms/menu.py 三、视图函数 memory_reverse的功能是当用户完成增删改返回列表页的时候,还带有原参数,这样回列表页的时候还会默认选中用户刚刚选中的参数 四、保留原参数 rbac/templat 阅读全文
posted @ 2019-03-10 15:57 梁少华 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 效果图: 和角色管理差不多,只是把编辑拆分成了编辑用户名、邮箱和重置密码,相应的form验证就会多一些。模板除了多了一个用户列表,增删改用的都是之前的。还有models层的email字段,改成EmailField 一、路由配置 rbac/urls.py 二、Form表单验证 rbac/forms/b 阅读全文
posted @ 2019-03-10 09:59 梁少华 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 效果图: 为了方便开发,先把中间件注释掉,要不还要在角色-权限表中添加对应关系。又因为二级菜单和面包屑导航需要中间件的变量,所以要在layout.html里面把这两个也注释掉。 setting.py # 'rbac.middlewares.rbac.RbacMiddleware' layout.ht 阅读全文
posted @ 2019-03-09 16:57 梁少华 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 效果图: 一、models层给权限增加url的别名 这是做是为了在模板用别名判断当前用户是否有这个url(权限)rbac/models.py 注意:刚创建的时候设置成null=True和blank=True,当添加完数据后再设置unique=True,并删除null=True和blank=True 阅读全文
posted @ 2019-03-09 10:35 梁少华 阅读(3879) 评论(0) 推荐(0) 编辑
摘要: 效果图: 一、在初始化权限的时候增加二级菜单的标题和url 这么做是为了在中间件中把二级菜单和具体权限的标题、url都储存起来rbac/service/init_permission.py 二、中间件处理 rbac/middlewares/rbac.py 注意: 选中的是二级菜单时,只要给列表加上二 阅读全文
posted @ 2019-03-08 18:58 梁少华 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: 我们要的效果是点中添加、编辑、删除缴费记录,左边的账单列表会被默认选中 一、在权限表里新建一个自关联的字段pid rbac/models.py 说明:拿客户列表来举例: 没有pid,有menu_id的是二级菜单,有pid,没有menu_id的是具体的权限,是不可以做菜单的。我们的目的是让用户点击增加 阅读全文
posted @ 2019-03-08 16:29 梁少华 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 二级菜单效果图 一、把一级菜单从权限表里抽离出来,单独创建一个表 rbac/modelsMenu class Menu(models.Model): """ 菜单表 """ title = models.CharField(verbose_name='一级菜单的名称', max_length=32) 阅读全文
posted @ 2019-03-08 11:19 梁少华 阅读(477) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 18 下一页