1. 角色、菜单、权限的增删该查 1. ModelForm增删改查 2. 增加和编辑使用同一个视图函数 Form() 1. 生成获取用户输入的标签 2. 对用户输入的内容做校验 3. 保留输入的内容同时展示错误提示信息 ModelForm() 1. 不需要自己写类中字段 2. 编辑的时候可以使用instance参数直接把要修改的实例传到form表单 1. 生成获取用户输入的标签时能够把instance的属性直接当成默认值 2. POST提交的时候可以直接调用save()保存数据 FormSet() from django.forms import formset_factory ModelFormSet() from django.forms import modelformset_factory ORM复习(对象关系映射) 1. 对应关系 ORM 数据库 类 <--> 数据表 属性 <--> 字段 对象 <--> 数据行 2. 爬取icon图标 1. requests 2. beautifulsoup4 3. 权限批量录入 1. 集合的操作 1. 差集、交集、反交集 2. 获取一个Django项目的所有路由 rbac/utils/reload_routes.py 3. 页面上将没有入库的路由数据直接加载到addformset中 4. formset使用的三个要点 1. {{ formsetobj.management_form }} --> 管理form(提交数据的时候告诉后端我提交了多少条数据) 2. 每一条数据中都要有form_obj.id(添加的时候不需要,编辑的时候需要) 3. form表单的那三要素 2. 今日内容
权限的批量操作
项目复杂之后URL有很多
1. 自动根据项目的URL录入路由信息(能自动获取路由别名和URL)
1. Django中的路由
二级路由 --> rbac:menu_list
三级路由 --> rbac:menu:menu_list
2. 自动录入写完之后会有三种情况:
1. 权限表里有,项目里面没有
2. 权限表里有,项目里面也有
3. 权限表里没有,项目里面有--如加新功能app
3. formset提交数据三要素
1. form表单
2. submit按钮
3. formset_obj.management_form
4. 因为使用的是Formset而不是ModelFormset所以不能调用save()保存,需要自己手动创建数据
1. 批量录入权限2 1. formset和modelformset的使用 2. 集合的操作 3. 如何巧妙的区分同一个action两次不同的POST请求 2. jQuery中文文档:http://jquery.cuishifeng.cn/ 3. 批量更新权限 1. 页面实现 1. Bootstrap、jQuery 2. 页面更新 1. 两个form表单POST提交数据 永远都唔好低估自己! 不负此生,前程似锦!
一.批量录入权限
我想实现的是利用formset实现的是只要你访问某个url,就能把当前项目里所有的路由:第一部分项目里没有但权限表里没有的放在下图1新增中。第二部分是我权限表和项目里都有的,放在下图2更新权限中。第三部分是我数据库里有但项目里没有的,放在如下图3中,此三图在一个页面实现操作管理。
1
2
3
原文:https://www.cnblogs.com/dbslinux/p/12825321.html