django-CRM-项目部署

Posted crazysheldon1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-CRM-项目部署相关的知识,希望对你有一定的参考价值。

流程

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-项目部署的主要内容,如果未能解决你的问题,请参考以下文章

Django-CRM项目学习-权限(rbac)

导致资产预编译在heroku部署上失败的代码片段

将项目部署到github的方法

Gitlab代码管理仓库安装部署

GitLab安装部署

持续集成与自动化部署 - gitlab部署