-
拷贝rbac APP到新的项目中 并且要在settings中注册
-
数据库迁移
-
用户表的继承 class User(models.Model): """ 用户表 """
roles = models.ManyToManyField(Role, verbose_name='用户所拥有的角色', blank=True) #Role不用字符串的形式 用类的方式
class Meta: abstract = True # 当前的表不会在数据库中生成,用于作为基类,让子类继承
-
清除掉rbac下migrations的除了__init__之外的所有py文件
-
执行数据库迁移的命令
-
-
rbac的路由配置 url(r'rbac/', include('rbac.urls',namespace='rbac')),
-
权限信息的录入 录入角色 录入一级菜单 录入权限信息 批量操作 注意: 所有的url要有name 权限的分配 注意 使用正确的用户表 给角色分配权限 给用户分配角色
-
应用上中间件 在settins中注册中间件 MIDDLEWARE = [ ... 'rbac.middlewares.rbac.RbacMiddleWare', ]
在settins中加上权限的相关配置
-
登录成功进行全新信息的初始化 from rbac.service.permission import init_permission 登陆成功后 init_permission(request,obj)
-
应用二级菜单 {% load rbac %} {% menu request %}
应用css js <script src="{% static 'rbac/js/menu.js' %} "></script>
-
路径导航 {% breadcrumb request %}
-
权限粒度控制到按钮级别 {% load rbac %} {% if request|has_permission:'class_add' %} 添加 {% endif %}
anmobear/crm
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
客户关系管理系统
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published