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