FIRSTCRM

学员管理开发需求:
1.分讲师\学员\课程顾问角色,
2.学员可以属于多个班级,学员成绩按课程分别统计
3.每个班级至少包含一个或多个讲师
4.一个学员要有状态转化的过程 ,比如未报名前,报名后,毕业老学员
5.客户要有咨询纪录, 后续的定期跟踪纪录也要保存
6.每个学员的所有上课出勤情况\学习成绩都要保存
7.学校可以有分校区,默认每个校区的员工只能查看和管理自己校区的学员
8.客户咨询要区分来源
9.加入权限管理,不同用户有不同的权限

实现功能:

1. 讲师\销售(课程顾问)\财务\学员
2. 报名流程: 销售生成报名表, 学员填写相关信息上传证件, 财务人员审核,审核通过,销售进行学员帐号关联
3. 学员可以报名多个班级,学员成绩按课程分别统计
4. 讲师可以教多个班级,每个班级至少包含一个或多个讲师
5. 学员状态,未报名,已报名
6. 销售有咨询纪录,后续的定期跟踪纪录有保存
7. 客户咨询区分来源
8. 学校分校区,默认每个校区的员工只能查看和管理自己校区的学员
9. 每个学员的所有上课出勤情况\学习成绩都保存
10. 加入权限管理,不同用户有不同的权限

Github地址

https://github.com/uge3/FIRSTCRM

程序结构:

 FIRSTCRM/#主目录

 |- - -FIRSTCRM/# 主程序目录
| |- - -init.py
| |- - -settings#配置文件
| |- - -urls.py#主路由
| |- - -view.py/##视图函数
| |- - -wsgi.py#WSIG规范文件
|
|- - -cache/#缓存目录
|- - -crm/#CRM程序目录
| |- - -init.py
| |- - -admin.py
| |- - -apps.py
| |- - -forms/#表单验证函数目录
| | |- - -init.py
| | |- - -account.py #登陆相关表单验证函数
| | |- - -base.py #登陆基础函数
| | |- - -forms.py #modelsform表单验证函数
| |
| |- - -kingadmin.py#自定义admin注册
| |
| |- - -migrations/#数据库操作日志
| | |- - -init.py
| |
| |- - -models.py#数据表结构目录
| |- - -permissions/#权限控制组件
| | |- - -init.py
| | |- - -permission.py#权限控制函数
| | |- - -permission_list.py#权限控制条件
| |
| |- - -templatetags/#注册为模块 load
| | |- - -crm_tags.py#合同格式
| |- - -tests.py
| |- - -urls.py#后台路由
| |- - -views.py/#视图函数逻辑函数
| |
| |
|- - -financial/#财务APP
| |- - -migrations/#数据库操作日志
| |- - -admin.py# django 管理注册
| |- - -apps.py
| |- - -models.py#表结构
| |- - -tests.py#单元测试
| |- - -urls.py#后台路由
| |- - -views.py/#视图函数逻辑函数
|
|- - -homeworks/#数据表结构目录
|
|- - -king_admin/#自定义admin
| |- - -migrations/#数据库操作日志
| |- - -static/#静态文件目录 (备份)
| |- - -templates/#HTML文件目录
| | |- - -includes/#load 目录
| | | |- - -change_list.html#
| | | |- - -nav-menu.html
| | |- - -kingadmin/#king_admin前端网页目录
| | | |- - -app_menu.html#单个app的主页面
| | | |- - -base.html#基础页面
| | | |- - -index.html#基础主页面
| | | |- - -page_403.html#错误页面
| | | |- - -password_reset.html#修改密码页面
| | | |- - -table_add.html#添加记录页面
| | | |- - -table_change.html#记录修改页面
| | | |- - -table_data_list.html#记录列表页面
| | | |- - -table_del.html#删除记录页面
| | | |- - -table_index.html#数据表主页面
| |- - -templatetags/#注册为模块
| |- - -utils/#自定义插件目录
| | |- - -init.py
| |- - -init.py
| |- - -admin.py# django 管理注册
| |- - -apps.py
| |- - -base_admin.py#kingadmin注册类
| |- - -forms.py#动态modelsforms表单生成
| |- - -models.py#
| |- - -tests.py#单元测试
| |- - -urls.py#路由
| |- - -verify_code.py#验证码函数
| |- - -views.py#视图函数
|
|- - -sales/#销售APP
| |- - -migrations/#数据库操作日志
| |- - -admin.py# django 管理注册
| |- - -apps.py
| |- - -models.py#表结构
| |- - -tests.py#单元测试
| |- - -urls.py#后台路由
| |- - -views.py/#视图函数逻辑函数
|
|
|- - -static/#静态文件目录
| |- - -css/# css文件目录
| |- - -enrolled_data/# 身份证上传目录
| |- - -imgs/# 图片文件目录
| |- - -js/#js文件目录
| |- - -plugins/#前端框架文件目录
|
|- - -student/#学员APP
| |- - -migrations/#数据库操作日志
| |- - -admin.py# django 管理注册
| |- - -apps.py
| |- - -models.py#表结构
| |- - -tests.py#单元测试
| |- - -urls.py#后台路由
| |- - -views.py/#视图函数逻辑函数
|
|- - -teacher/#讲师APP
| |- - -migrations/#数据库操作日志
| |- - -admin.py# django 管理注册
| |- - -apps.py
| |- - -models.py#表结构
| |- - -tests.py#单元测试
| |- - -urls.py#后台路由
| |- - -views.py/#视图函数逻辑函数
|
|
|- - -templates/#HTML文件目录
| |- - -financial/#财务APP页面
| | |- - -contract_review.html#合同审核页面
| | |- - -index_financial.html#财务主页
| | |- - -not_audit.html#驳回页面
| | |- - -payment.html#审核通过页面
| |
| |- - -include/#include 目录(可包含)
| | |- - -panel-body.html#个人信息模板
| |
| |- - -master/#母板目录
| | |- - -base.html#后台页面模板
| | |- - -index.html#y主页面模板
| |
| |- - -sales/#销售APP页面
| | |- - -contract_prompt.html#报名流程 页面
| | |- - -enrollment.html#报名流程一页面
| | |- - -sales_index.html#销售主页
| | |- - -stu_registration.html#学员报名填写页面
| |
| |- - -student/#学员APP页面
| | |- - -homework_detail.html#作业提交 页面
| | |- - -index.html#学员主页页面
| | |- - -my_course.html#学员班级页面
| | |- - -studyrecords.html#学员班级详情页面
| |
| |
| |- - -teacher/#讲师APP页面
| | |- - -index_teacher.html#讲师主页
| | |- - -teacher_classes_detail.html#讲师详情页面
| | |- - -teacher_classes_detail_howk.html#讲师批改学员作业详情页面
| | |- - -teacher_my_classes.html#讲师所教班级
| |
| |
| |- - -index.html#主页面
| |- - -login.html#登陆页面
| |- - -modify.html#用户密码修改
| |- - -page_403.html#权限提示页面
| |- - -register.html#注册页面
|
|- - -utils/#自定义插件目录
| |- - -check_code.py#验证码
| |- - -pagination.py#分页
| |- - -xss.py#XSS过滤
|
|- - -db.sqlite3/Django自带数据库
|- - -manage.py#管理Django程序
|- - -Monaco.ttf#字体库
|
|
|
|- - -README

  

python第一百六十九天,第十九周作业的更多相关文章

  1. python第一百三十天 ---简单的BBS论坛

    简单的BBS论坛 实现功能 git仓库地址:https://github.com/uge3/BBS 1.整体参考“抽屉新热榜” + “博客园” 2.实现不同论坛版块 3.帖子列表展示 4.个人博客主页 ...

  2. leecode第一百六十九题(求众数)

    class Solution { public: void quick_sort(vector<int>& nums,int res,int res_end) { )//错过,不能 ...

  3. 第一百六十三节,jQuery,基础核心

    jQuery,基础核心 一.代码风格 在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号“$”来起 始的.而这个“$”就是jQuery当中最重要且独有的对象:jQuery对象,所 ...

  4. 第一百六十八节,jQuery,表单选择器

    jQuery,表单选择器 学习要点: 1.常规选择器 2.表单选择器 3.表单过滤器 表单作为 HTML 中一种特殊的元素,操作方法较为多样性和特殊性,开发者不但可以 使用之前的常规选择器或过滤器,也 ...

  5. 第一百六十五节,jQuery,过滤选择器

    jQuery,过滤选择器 学习要点: 1.基本过滤器 2.内容过滤器 3.可见性过滤器 4.子元素过滤器 5.其他方法 过滤选择器简称:过滤器.它其实也是一种选择器,而这种选择器类似与 CSS3 (h ...

  6. leecode第一百六十题(相交链表)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  7. 第一百六十节,封装库--JavaScript,ajax注册表单到数据库

    封装库--JavaScript,ajax注册表单到数据库 效果图 前台js var biaodan = $().xu_lie_biao_dan($('form').sh_jd()); //序列化获取表 ...

  8. 第一百六十九节,jQuery,基础事件

    jQuery,基础事件 学习要点: 1.绑定事件 2.简写事件 3.复合事件 JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标 或键盘触发页面中绑定事件的元素即 ...

  9. 第一百六十六节,jQuery,基础 DOM 和 CSS 操作,元素内容,元素属性,css和class,元素宽度高度、偏移、滚动条

    jQuery,基础 DOM 和 CSS 操作,元素内容,元素属性,css和class,元素宽度高度.偏移.滚动条 学习要点: 1.DOM 简介 2.设置元素及内容 3.元素属性操作 4.元素样式操作 ...

随机推荐

  1. centos 7 linux 安装与卸载 jdk 7

    一.声明 本文采用操作系统版本: Centos 7 Linux 系统 版本源:CentOS-7-x86_64-DVD-1708.iso 官网下载地址:http://isoredirect.centos ...

  2. C++ STL中的map用红黑树实现,搜索效率是O(lgN),为什么不像python一样用散列表从而获得常数级搜索效率呢?

    C++ STL中的标准规定: map, 有序 unordered_map,无序,这个就是用散列表实现 谈谈hashmap和map的区别,我们知道hashmap是平均O(1),map是平均O(lnN)的 ...

  3. MFC原理第四讲.动态创建机制

    MFC原理第四讲.动态创建机制 一丶要学习的知识点以及简介 动态创建是什么意思? 动态创建其实就是跟C++的new一样.都是创建对象.但是规避了C++语法的缺陷. 例如: char * ClassNa ...

  4. 正确重写hashcode hashcode与equals方法 集合元素如何判断是否相等 集合如何查看是否包含某个元素

    首先记住两句话 相等的两个对象,即equals(Object)方法判断两个对象相等,那么他们必须要有相同的hashcode hashcode相同的两个对象,他们可能相同,也可能不相同 简单地说可以这么 ...

  5. wget命令的几个常用选项和示例

    wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕.如果是服务器打断下 ...

  6. MySQL高可用之组复制技术(3):配置多主模型的组复制

    MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制( ...

  7. [转]MySQL查询缓存清空

    本文转自:https://www.cnblogs.com/wangyiwei/p/7765457.html 可以通过下面的SQL查看当前查询缓存相关参数状态:   SHOW VARIABLES LIK ...

  8. 事务隔离级别之Read Uncommitted/WITH(NOLOCK)

    知识点链接 事务隔离级别之Read Uncommitted       https://blog.csdn.net/oyw5201314ck/article/details/79621347 WITH ...

  9. .NET MVC后台发送post请求

    一.WebRequest方式 //设置请求接口 var request = (HttpWebRequest)WebRequest.Create("http://xxx.com/xxx&quo ...

  10. java集合框架-List集合ArrayList和LinkedList详解

    List 集合源码剖析 ✅ ArrayList 底层是基于数组,(数组在内存中分配连续的内存空间)是对数组的升级,长度是动态的. 数组默认长度是10,当添加数据超越当前数组长度时,就会进行扩容,扩容长 ...