码迷,mamicode.com
首页 > 其他好文 > 详细

django-CRM-项目部署

时间:2019-03-01 22:20:36      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:abs   基类   数据库   管理   mis   from   session   修改   menu   

流程

rbac组件的应用

1:拷贝rbac组件到新的项目中,执行注册

2:数据库迁移

  • 先删除rbac下migrations下除了init之外的所有文件
  • 修改用户表
    class User(models.Model):
        ‘‘‘用户表‘‘‘
        roles = models.ManyToManyField(Role,blank=True)#关联用类名
    
        class Meta:
    
        
            abstract = True  #执行数据库迁移命令的时候不会生成具体的表,这张表做基类
  • 在新项目中用户表取继承User表
  • 执行数据库迁移命令

3.在跟的urlconf中添加rbac的路由

url(rrbac/, include(rbac.urls, namespace=rbac))

4.角色管理,添加角色

5.菜单管理,给权重

6.权限管理

  • 录入权限信息
  • 分配好菜单和父权限

7.分配权限

  • 给角色分配权限
  • 给用户分配角色

8.加上权限控制

  • 加中间件
  • 权限的配置放在settings中
    #权限存放在session中key
    PERMISSION_SESSION_KEY = permission
    
    #菜单存放在session中的KEY
    MENU_SESSION_KEY = menu
    
    #白名单
    WHITE_LIST = [
        r^/login/$,
        r^/reg/$,
        r^/admin/.*,
    ]
    
    #没有权限
    NO_PERMISSION_LIST = [
        r^/index/$,
    ] 
  •  修改登录函数 校验成功后权限信息的初始化

    from rbac.service.permission import init_permission
    # 登录成功后调用这个函数
    init_permission(request,obj)

     

9.应用上二级菜单 ---在母版中使用 menu inclusion_tag

{% load rbac %}
{% menu request %}

 

引入css、js效果

10.引入路径导航

{% breadcrumb request %}

 

11.权限控制到按钮

{% load rbac %}
{% if request|has_permission:‘add_customer‘ %}
    <a class="btn btn-sm btn-primary" style="margin-bottom: 5px"
       href="{% reverse_url request ‘add_customer‘ %}">添加</a>

{% endif %}

 

...

django-CRM-项目部署

标签:abs   基类   数据库   管理   mis   from   session   修改   menu   

原文地址:https://www.cnblogs.com/CrazySheldon1/p/10459029.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!