流程

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(r'rbac/', 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-项目部署的更多相关文章

  1. django 本地项目部署uwsgi 以及云服务器部署 uwsgi+Nginx+Docker+MySQL主从

    一 .django 本地项目部署uwsgi 1 本地部署项目 uwsgi安装测试 通过uwsgi 进行简单部署 安装uwsgi命令:pip install uwsgi -i http://pypi.d ...

  2. Django Web项目部署参考

    环境准备:1.Python 2.7.*]2.pip3.sudo pip install django4.sudo aptitude show python-setuptools5.sudo aptit ...

  3. Django (十三) 项目部署 3

    阿里云项目部署 部署Django项目   1, 配置nginx 1.1 进入:cd /var/www, 将外面压缩好的AXF项目拖入xshell中,并解压 1.2 配置nginx.conf: 将htt ...

  4. Django - CRM项目(2)Q查询(模糊查询)

    一.CRM项目(2) 利用Q查询中的q对象完成条件筛选功能. 批量删除.公户转私户功能. 新增一张跟进记录表ConsultRecord,迁移数据库并添加测试数据,实现跟进记录列表页面. 客户列表新增跟 ...

  5. Django (十一) 项目部署 2

    阿里云项目部署 ( 如果xshell连接不上阿里云: 解决方法: 1, 在淘宝IP地址库查看当前IP: http://ip.taobao.com/ 2, 点击进入:安全(云盾) -> 安骑士(服 ...

  6. Django - CRM项目(3)

    一.CRM项目的业务逻辑与表结构梳理 1.分析业务逻辑 (1) 引流(sem) (2) 网络咨询师(客服):添加客户信息和查看客户,分配销售 (3) 销售:查看私户 添加跟进记录 失败:加入公户 成功 ...

  7. django之项目部署知识点

    一:项目部署的框架 nginx和uWSGI在生产服务器上进行的部署 二:什么是nginx? nginx是一个web服务器. 什么是web服务器? web服务器则主要是让客户可以通过浏览器进行访问,处理 ...

  8. 【Django】Django web项目部署(Nginx+uwsgi)

    一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response): ...

  9. django——CRM项目

    1.引言 CRM,客户关系管理系统(Customer Relationship Management).企业用CRM技术来管理与客户之间的关系,以求提升企业成功的管理方式,其目的是协助企业管理销售循环 ...

  10. Django (十) 项目部署 1

    阿里云部署项目 1, 购买阿里云ECS云服务器(可免费试用1个月) 2, 阿里云实例更换为Ubuntu 3, 安全组配置 4, xshell远程连接 5, 创建虚拟环境: 5.1 linux基本命令 ...

随机推荐

  1. Linux中查看文件夹占用磁盘大小

    一.命令 ./ du -h ./ 查看当前目录占用空间 二.样例

  2. android自己定义控件之飞入飞出控件

    近期呢,本人辞职了.在找工作期间.不幸碰到了这个求职淡季,另外还是大学生毕业求职的高峰期,简历发了无数份却都石沉大海.宝宝心里那是一个苦啊! 翻着过去的代码,本人偶然找到了一个有意思的控件.那时本人还 ...

  3. dubbo请求报文实例

    dubbo请求报文实例: ============================================= Request [ id=6723668, // 消息ID,Long类型 vers ...

  4. [.NET] 一个获取随机数的新方式

    private Random GetRandomSeed() { byte[] bytes = new byte[4]; RNGCryptoServiceProvider rng = new RNGC ...

  5. 在chrome Sources 页 显示 Console(drawer) 页

  6. CentOS 6.5 x64下查看服务版本

    1.查看服务是否是64位 [root@Yimmei ~]# getconf LONG_BIT 642.查看服务器版本信息 [root@Yimmei ~]# lsb_release -a LSB Ver ...

  7. Integer.parseInt vs Integer.valueOf

    一直搞不清楚这两个有什么区别.刚才特意查了一下帖子. Integer.parseInt 返回的是 primitive int Integer.valueOf  返回的是 Integer Object ...

  8. quartz与spring boot-最简模式

    多年前使用过quartz,今天又需要再用,而且是在spring boot框架下.很神奇,spring也是十年前用过的. 这里仅记录下完成的最快速和简单的操作,高级的使用以后有空弄明白了再写: 1.增加 ...

  9. Kubernetes集群部署之五node节点部署

    Node节点是Kubernetes集群中的工作负载节点.每个node都会被master分配一些工作负载,每个node节点都运行以下关键服务进程.Kubelet :负责pod对应的容器的创建.启停等任务 ...

  10. [转]html5: postMessage解决跨域和跨页面通信的问题

    [转]html5: postMessage解决跨域和跨页面通信的问题 平时做web开发的时候关于消息传递,除了客户端与服务器传值,还有几个经常会遇到的问题: 多窗口之间消息传递(newWin = wi ...