Django项目:CRM(客户关系管理系统)--72--62PerfectCRM实现CRM讲师讲课记录

Posted 颜言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django项目:CRM(客户关系管理系统)--72--62PerfectCRM实现CRM讲师讲课记录相关的知识,希望对你有一定的参考价值。

 

 1 #urls.py
 2 
 3 """PerfectCRM URL Configuration
 4 
 5 The `urlpatterns` list routes URLs to views. For more information please see:
 6     https://docs.djangoproject.com/en/2.0/topics/http/urls/
 7 Examples:
 8 Function views
 9     1. Add an import:  from my_app import views
10     2. Add a URL to urlpatterns:  path(\'\', views.home, name=\'home\')
11 Class-based views
12     1. Add an import:  from other_app.views import Home
13     2. Add a URL to urlpatterns:  path(\'\', Home.as_view(), name=\'home\')
14 Including another URLconf
15     1. Import the include() function: from django.urls import include, path
16     2. Add a URL to urlpatterns:  path(\'blog/\', include(\'blog.urls\'))
17 """
18 from django.contrib import admin
19 from django.urls import path
20 
21 # ————————02PerfectCRM创建ADMIN页面————————
22 from django.conf.urls import url  # URL
23 from django.conf.urls import include # 分发URL
24 # ————————02PerfectCRM创建ADMIN页面————————
25 
26 # ————————46PerfectCRM实现登陆后页面才能访问————————
27 from PerfectCRM import main_views
28 # ————————46PerfectCRM实现登陆后页面才能访问————————
29 
30 urlpatterns = [
31     path(\'admin/\', admin.site.urls),
32     
33 # ————————02PerfectCRM创建ADMIN页面————————
34     url(r\'^king_admin/\', include("king_admin.king_urls")),  # 自定义admin
35 # ————————02PerfectCRM创建ADMIN页面————————
36     
37 # ————————03PerfectCRM创建基本数据————————
38     url(r\'^DBadd/\', include("DBadd.DBadd_urls")),  # 添加随机数据
39 # ————————03PerfectCRM创建基本数据————————
40     # ————————38PerfectCRM实现全局账号登录注销————————
41     url(r\'^gbacc/\', include("gbacc.gbacc_urls")),  # 全局账号登录注销
42     # ————————38PerfectCRM实现全局账号登录注销————————
43 
44     # ————————42PerfectCRM实现AJAX全局账号注册————————
45     url(r\'^gbacc/\', include("gbacc.gbacc_ajax_urls")),  # 全局账号登录注销
46     # ————————42PerfectCRM实现AJAX全局账号注册————————
47 
48     # ————————46PerfectCRM实现登陆后页面才能访问————————
49     url(r\'^$\', main_views.PortalView.as_view()),
50     # ————————46PerfectCRM实现登陆后页面才能访问————————
51 
52     # ————————47PerfectCRM实现CRM客户报名流程————————
53     url(r\'^bpm/\', include("bpm.sales.sales_urls")),  # 业务流程 #学生报名
54     # ————————47PerfectCRM实现CRM客户报名流程————————
55 
56     # ————————53PerfectCRM实现CRM客户报名流程缴费————————
57     url(r\'^bpm/\', include("bpm.financial.financial_urls")),  # 业务流程 #财务缴费
58     # ————————53PerfectCRM实现CRM客户报名流程缴费————————
59 
60     # ————————60PerfectCRM实现CRM学生上课记录————————
61     url( r\'^bpm/\', include( "bpm.student.student_urls" ) ),  # 业务流程 # 学生上课记录
62     # ————————60PerfectCRM实现CRM学生上课记录————————
63 
64     # ————————62PerfectCRM实现CRM讲师讲课记录————————
65     url( r\'^bpm/\', include( "bpm.teacher.teacher_urls" ) ),  # 业务流程 # 讲师班级
66     # ————————62PerfectCRM实现CRM讲师讲课记录————————
67 ]
#urls.py

 

 

 

 1 # teacher_urls.py
 2 # ————————62PerfectCRM实现CRM讲师讲课记录————————
 3 from django.conf.urls import url
 4 from bpm.teacher import teacher_views
 5 urlpatterns = [
 6     url(r\'^teacher_class/$\', teacher_views.teacher_class,name=\'teacher_class\'),#讲师班级
 7     url(r\'^teacher_class_detail/(\\d+)/$\', teacher_views.teacher_class_detail, name=\'teacher_class_detail\'),  # 讲师班级课节详情
 8 
 9 ]
10 
11 # ————————62PerfectCRM实现CRM讲师讲课记录————————
# teacher_urls.py

 

 

 1 # teacher_views.py
 2 # ————————62PerfectCRM实现CRM讲师讲课记录————————
 3 from django.contrib.auth.decorators import login_required  # 登陆后页面才能访问
 4 from django.shortcuts import render
 5 
 6 #讲师班级
 7 @login_required  # 登陆后页面才能访问
 8 def teacher_class(request):
 9     # user_id=request.user.id #当前登陆的ID
10     # classlist=models.UserProfile.objects.get(id=user_id).classlist_set.all()#讲师所教班级
11     classes_obj=request.user.classlist_set.all() #根据 登陆的ID 获取02班级表
12     return render(request,\'bpm_teacher/teacher_class.html\',locals())
13 
14 # 讲师班级课节详情
15 @login_required  # 登陆后页面才能访问
16 def teacher_class_detail(request,class_id):
17     # user_id=request.user.id #当前登陆的ID
18     # classes_obj=models.UserProfile.objects.get(id=user_id).classlist_set.get(id=class_id)#所选的班级
19     classes_obj=request.user.classlist_set.get(id=class_id) #根据 登陆的ID 获取02班级表
20     courserecordlist=classes_obj.courserecord_set.all()#根据 02班级表的ID 获取09学习纪录
21     return render(request, \'bpm_teacher/teacher_classes_detail.html\', locals())
22 
23 # ————————62PerfectCRM实现CRM讲师讲课记录————————
# teacher_views.py

 

 

 

  1 # kingadmin.py
  2 # ————————04PerfectCRM实现King_admin注册功能————————
  3 from crm import models
  4 #print("kingadmin crm",models.Customer)
  5 
  6 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
  7 # from king_admin.base_admin import register,BaseAdmin
  8 from king_admin.base_admin import site,BaseAdmin
  9 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
 10 
 11 # ————————24PerfectCRM实现King_admin自定义操作数据————————
 12 from django.shortcuts import render
 13 # ————————24PerfectCRM实现King_admin自定义操作数据————————
 14 
 15 # ————————28PerfectCRM实现King_admin编辑限制————————
 16 from django.forms import ValidationError
 17 from django.shortcuts import render,redirect
 18 # ————————28PerfectCRM实现King_admin编辑限制————————
 19 
 20 
 21 
 22 
 23 # ————————62PerfectCRM实现CRM讲师讲课记录————————
 24 # 02班级表
 25 class ClassListAdmin(BaseAdmin):
 26     list_display = [\'id\', \'branch\', \'course\', \'class_type\', \'semester\', \'start_date\', \'end_date\']  # 显示字段表头
 27     list_filter = [\'branch\', \'course\', \'class_type\']  # 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
 28     filter_horizontal = [\'teachers\']  #复选框
 29 site.register(models.ClassList,ClassListAdmin)               #02班级表
 30 
 31 # ————————62PerfectCRM实现CRM讲师讲课记录————————
 32 
 33 
 34 
 35 
 36 #04客户信息表
 37 class CustomerAdmin(BaseAdmin):#定制Djanago admin
 38     # ————————54PerfectCRM实现CRM客户报名链接————————
 39     # list_display = (\'id\', \'qq\', \'source\', \'consultant\', \'content\', \'date\')  # 显示字段表头
 40     list_display = (\'id\', \'qq\', \'source\', \'consultant\', \'content\', \'date\',\'status\',\'enroll\')  # 显示字段表头
 41     # ————————54PerfectCRM实现CRM客户报名链接————————
 42     # ————————11PerfectCRM实现King_admin分页显示条数————————
 43     list_per_page = 2  #分页条数  # 默认分页条数10
 44     # ————————11PerfectCRM实现King_admin分页显示条数————————
 45     # ————————16PerfectCRM实现King_admin日期过滤————————
 46     # ————————15PerfectCRM实现King_admin多条件过滤————————
 47     # 过滤器(可以包含ManyToManyField) (注意加 逗号 , )
 48     # list_filter = (\'source\',\'consultant\',\'consult_courses\',)
 49     list_filter = (\'date\',\'source\',\'consultant\',\'consult_courses\',)
 50     # ————————15PerfectCRM实现King_admin多条件过滤————————
 51     # ————————16PerfectCRM实现King_admin日期过滤————————
 52     # ————————18PerfectCRM实现King_admin搜索关键字————————
 53     #搜索(不能包含CharField)(注意加 逗号 , )
 54     search_fields = (\'name\',\'qq\',)
 55     # ————————18PerfectCRM实现King_admin搜索关键字————————
 56     # ————————26PerfectCRM实现King_admin自定义排序————————
 57     ordering = \'-qq\'  #自定义排序,默认\'-id\'
 58     # ————————26PerfectCRM实现King_admin自定义排序————————
 59     # ————————27PerfectCRM实现King_admin编辑复选框————————
 60     filter_horizontal = (\'tags\',) #复选框
 61     # ————————27PerfectCRM实现King_admin编辑复选框————————
 62     # ————————33PerfectCRM实现King_admin编辑整张表限制————————
 63     readonly_table=True#默认表单不锁定
 64     # ————————33PerfectCRM实现King_admin编辑整张表限制————————
 65 
 66     # ————————55PerfectCRM实现CRM客户报名状态颜色变化————————
 67     colored_fields = {
 68         \'status\':{\'已报名\':"rgba(145, 255, 0, 0.78)",
 69                   \'未报名\':"#ddd"},}
 70     # ————————55PerfectCRM实现CRM客户报名状态颜色变化————————
 71 
 72     # ————————54PerfectCRM实现CRM客户报名链接————————
 73     def enroll(self):
 74         \'\'\'报名\'\'\'
 75         print("customize field enroll",self)
 76         link_name = "报名"
 77         if self.instance.status == 0:
 78             link_name = "报名新课程"
 79         return \'\'\'<a target="_blank" class="btn-link" href="/bpm/customer/%s/enrollment/">点击%s</a> \'\'\' % (self.instance.id,link_name)
 80                 # url(r\'^customer/(\\d+)/enrollment/$\', sales_views.enrollment, name="enrollment"),  # 客户招生#报名流程一 下一步
 81                 # target属性用于表示所链接文件打开到的位置 #记住,“”内的文字只是表示一个对象的名子。
 82     enroll.display_name = "报名链接"
 83     # ————————54PerfectCRM实现CRM客户报名链接————————
 84 
 85 
 86 
 87     # ————————24PerfectCRM实现King_admin自定义操作数据————————
 88     # from django.shortcuts import render
 89     actions = [\'test_actions\',]#定制功能    #测试返回到一个新页面
 90     def test_actions(self,request,arg2):#对应的函数 #request类自己的请求  #arg2类的内容
 91         return render(request,"king_admin/table_index.html")
 92     test_actions.short_description = "测试显示中文"
 93     # ————————24PerfectCRM实现King_admin自定义操作数据————————
 94 
 95     # ————————28PerfectCRM实现King_admin编辑限制————————
 96     # ————————31PerfectCRM实现King_admin编辑多对多限制————————
 97     # readonly_fields = (\'qq\', \'consultant\',)  # 不可修改
 98     readonly_fields = (\'qq\', \'consultant\',\'tags\',)  # 不可修改
 99     # ————————31PerfectCRM实现King_admin编辑多对多限制————————
100 
101     # ————————29PerfectCRM实现King_admin编辑自定义限制————————
102     def default_form_validation(self,obj):
103         print(\'validation:制定的\',obj.cleaned_data)
104         consult_course=obj.cleaned_data.get(\'content\',\'\')#自制验证字段
105         if len(consult_course)<10:
106             return ValidationError(#添加错误信息 返回
107                                 ("该字段%(field)s 咨询内容记录不能少于10个字符"),
108                                 code=\'invalid\',
109                                 params={\'field\':\'content\',},
110                             )
111     # ————————29PerfectCRM实现King_admin编辑自定义限制————————
112 
113     # ————————28PerfectCRM实现King_admin编辑限制————————
114 
115     # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
116     def clean_name(self,obj,*args,**kwargs):#名称验证 单个
117         name=obj.cleaned_data[\'name\']
118         if not name:
119             obj.add_error(\'name\',\'不能为空!\')
120             return ValidationError(#添加错误信息 返回
121                                 ("%(field)s:该字段 不能为空"),
122                                 code=\'invalid\',
123                                 params={\'field\':\'name\',},
124                             )
125         elif len(name)<5:
126             obj.add_error(\'name\',\'不能小于5个字符!\')
127             #return ValidationError(\'\',)
128             return ValidationError(#添加错误信息 返回
129                                 ("%(field)s:该字段 不能小于5个字符!"),
130                                 code=\'invalid\',
131                                 params={\'field\':\'name\',},
132                             )
133     # ————————30PerfectCRM实现King_admin编辑自定义字段验证————————
134 
135 # ————————34PerfectCRM实现CRM自定义用户————————
136 #10账号表
137 class UserProfileAdmin(BaseAdmin):#定制Djanago admin
138     list_display = (\'id\', \'email\', \'name\')  # 显示字段表头
139 
140     # ————————36PerfectCRM实现King_admin密码修改————————
141     readonly_fields = (\'password\',)   # 不可修改,限制
142     filter_horizontal = (\'user_permissions\',\'groups\') #复选框
143     modelform_exclude_fields=[\'last_login\']#排除#不显示 #自增日期 #base_admin.py #forms.py
144     # ————————36PerfectCRM实现King_admin密码修改————————
145 
146 site.register(models.UserProfile, UserProfileAdmin)
147 # ————————34PerfectCRM实现CRM自定义用户————————
148 
149 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
150 # register(models.Customer,CustomerAdmin)
151 # register(models.CourseRecord)
152 site.register(models.Customer,CustomerAdmin)
153 # ————————58PerfectCRM实现king_admin批量生成上课记录————————
154 # site.register(models.CourseRecord)
155 # ————————58PerfectCRM实现king_admin批量生成上课记录————————
156 # ————————05PerfectCRM实现King_admin注册功能获取内存————————
157 
158 # ————————04PerfectCRM实现King_admin注册功能————————
159 
160 
161 # ————————56PerfectCRM实现CRM客户报名缴费链接————————
162 # 06学员报名信息表
163 class EnrollmentAdmin(BaseAdmin):  # 定制Djanago admin
164     list_display = (\'id\', \'customer\', \'enrolled_class\', \'consultant\', \'Pay_cost\', \'date\', \'payment\')  # 显示字段表头
16

以上是关于Django项目:CRM(客户关系管理系统)--72--62PerfectCRM实现CRM讲师讲课记录的主要内容,如果未能解决你的问题,请参考以下文章

Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户报名缴费链接

Django项目:CRM(客户关系管理系统)--65--55PerfectCRM实现CRM客户报名状态颜色变化

Django项目:CRM(客户关系管理系统)--45--36PerfectCRM实现CRM用户登陆注销02

Django项目:CRM(客户关系管理系统)--66--56PerfectCRM实现CRM客户首列进入更改页优化路径

Django CRM学员系统项目

Django项目:CRM(客户关系管理系统)--40--32PerfectCRM实现King_admin添加不进行限制