Day31.管理员创建老师功能
1.管理员创建老师功能_代码及执行流程
2.管理员创建老师功能_视图层管理员创建老师admin.py下的create_teacher方法
''' 管理员视图 ''' from interface import admin_interface from lib import common, common_interface # todo 管理员创建老师 @common.auth('admin') def create_teacher(): print('管理员创建老师...') while True: # todo 1. 让管理员 teacher_name = input('请输入老师的名字:').strip() # todo 2. 调用接口创建老师 flag, msg = admin_interface.create_teacher_interface( teacher_name, admin_info.get('user') ) if flag: print(msg) break else: print(msg)
3.管理员创建老师功能_管理员接口层管理员创建老师接口admin_interface.py下的create_teacher_interface方法
'''管理员接口''' from db import models # todo 管理员创建老师接口 def create_teacher_interface(teacher_name, admin_name, teacher_pwd='123'): # todo 1. 判断老师是否存在 teacher_obj = models.Teacher.select(teacher_name) # todo 2. 如存在,则返回不能创建 if teacher_obj: return False, '老师已存在' # todo 3. 若不存在,则创建老师,让`管理员`来创建 admin_obj = models.Admin.select(admin_name) admin_obj.create_teacher(teacher_name, teacher_pwd) return True, '{}老师创建成功'.format(teacher_name)
4.管理员创建老师功能_存放类方法的管理员类和老师类
'''用于存放类的 学校类、学员类、课程类、讲师类、管理员类 ''' from db import db_handler # todo 提供select和save方法写入父类, 让所有子类都继承 class Base: # todo 定义一个数据查找方法 ----> 登录、查看数据 @classmethod def select(cls, username): # 接收到类Admin和username # todo obj: 对象 OR None obj = db_handler.select_data( cls, username) return obj # todo 定义一个数据保存方法 ----> 注册、保存、更新数据 def save(self): # todo 调用db_handler中的save方法,并且需要对其中的方法做传值,即添加self # todo 让db_handler中的save_data进行保存对象数据 db_handler.save_data(self) # todo 管理员类 class Admin(Base): # todo 调用类的时候触发 # todo admin_username, admin_password def __init__(self, user, pwd): self.user = user self.pwd = pwd # todo 管理员创建学校接口 def create_school(self, school_name, school_addr): # 调用School类, 实例化一个学校对象, 并保存 school_obj = School(school_name, school_addr) school_obj.save() # todo 管理员创建课程接口 def create_course(self, school_obj, course_name): # todo 1. 调用课程类,实例化创建课程 course_obj = Course(course_name) course_obj.save() # todo 2. 获取当前学校对象,并将课程添加到课程列表中 school_obj.course_list.append(course_name) # todo 3. 更新学校数据 school_obj.save() # todo 管理员创建讲师接口 def create_teacher(self, teacher_name, teacher_pwd): # todo 1. 调用老师类,实例化得到老师对象,并保存 teacher_obj = Teacher(teacher_name, teacher_pwd) teacher_obj.save() # todo 老师类 class Teacher(Base): def __init__(self, teacher_name, teacher_pwd): self.user = teacher_name self.pwd = teacher_pwd self.course_list_from_tea = []
5.管理员创建老师功能_程序运行结果