流程

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. Centos7中离线安装DockerCE最新版

    一.简述 离线在Centos7中部署DockerCE. 二.步骤 (1)在有外网的计算A上执行: 1.配置安装源存放路径 mkdir -p /root/docker-ce-local &&am ...

  2. ionic BUILD FAILED

    BUILD FAILED Total time: 24.572 secs FAILURE: Build failed with an exception. What went wrong: Execu ...

  3. maven error: element dependency can not have character children

    就是Mavn pom.xml的解析错误,因为dependency这个标签中有不可见的垃圾字符,解决方法就是删掉重新打字进去就可以了. references: https://stackoverflow ...

  4. geos 3.6.3库windows版本 已编译完成的32位版本和64位版本

    网上教编译方法的很多,直接分享编译完成的很少. 我就把编译完成的分享出来吧. ​geos-3.6.3.tar.bz2 (Changes) 版本的 https://trac.osgeo.org/geos ...

  5. 初尝 nginx

    第一次尝试用 nginx,记录下几个简单命令: // 启动 start nginx // 测试并设置配置文件 nginx -t -c conf\nginx.conf // 修改配置文件后重载 ngin ...

  6. Spring 事务 readOnly 到底是怎么回事?

    Spring的事务经常会有这样的配置: 1 <tx:method name="search*" read-only="true" /> 或者这样的注 ...

  7. Nginx SSL 结合Tomcat 重定向URL变成HTTP的问题

    http://www.siven.net/posts/d925bb5d.html *********************************************** 问题描述 由于要配置服 ...

  8. 备份与还原ORACLE数据库(通过CMD命令执行)

    31.1:(若用程序调用cmd,则在备份和还原 末尾语句加上 2>&1 ,直接运行则不需要加) --备份:     1) exp SA/"""abc@123 ...

  9. 欢迎访问我的最新个人技术博客http://zhangxuefei.site

    博客已经搬家,欢迎访问我的最新个人技术博客:http://zhangxuefei.site

  10. 理解、学习与使用 JAVA 中的 OPTIONAL<转>

    从 Java 8 引入的一个很有趣的特性是 Optional  类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都 ...