crm-全总结

1.什么是crm

  客户关系管理系统 ,以客户数据为中心建立一个信息收集、管理、分析和利用的信息系统

2.业务逻辑相关使用crm-app完成

  1)路由项目分发到crm-app (别名 传参 命名空间)

    用户增删改查  

    部门增删改查

    班级增删改查

  2)对应了3个视图函数

    dep.py 

    classes.py

    user.py

    login.py

  3)models的设计表

    用户表(继承rbac的类) ,部门表 ,班级表(外键: 校区表+课程表)

  4)ModelFrom(重点功能)

    生成标签

    数据清洗

  5)html中关注的点()

    ajax实现异步删除 ,特别的效果

    循环展示modelform对象  

3.rbac权限相关rbac-app

  1)权限的model设计

    权限表

    一级菜单表

    角色表

    rbacuser表 (crm的user需要继承)

  2)init_permission初始化权限相关放入request

    permission_dict  权限字典

    menu_dict     菜单字典

    login函数中使用(保存登录状态)

  3)中间件rbac校验process_request

    白名单

    登录

    登录后不需权限url

    登录后需权限url

  4)权限设计到按钮级别 simple_tags

    使用权限表的name字段来判断 ,是否在该用户request的权限字典中

  5)页码

    页码实例化成类 ,在视图函数中使用

    定义底部页码长度 ,每页显示多少条数据

    切片索引

    左右极值判断

  6)业务记录保留

    使用simple_tag ,从request中获取当前url的页码参数, 页面按钮使用simple_tag做成代页码的按钮

    使用视图函数中的提交时候 ,获取到当前的页码 ,重定向时拼接页码即可

  7)菜单

    一级菜单通过Menu表存储(根据weight权重做成有序字典排序) ,二级菜单外键到一级菜单 ,非菜单权限归属外键连接到自身的二级菜单

    构建menu_dict,通过inclusion_tag完成菜单

  8)面包屑

    面包屑导航 ,暂时依据菜单写了两层 ,首页写死了 ,,,

    通过inclusion_tag从permission_dict拿数据 ,生成面包屑 ,在页面中循环展示()

    

原文地址:https://www.cnblogs.com/quguanwen/p/11496425.html