首页 > 其他分享 >Day31.管理员创建老师功能

Day31.管理员创建老师功能

时间:2024-07-03 22:53:09浏览次数:1  
标签:obj name 创建 self Day31 管理员 todo teacher

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.管理员创建老师功能_程序运行结果

 

标签:obj,name,创建,self,Day31,管理员,todo,teacher
From: https://www.cnblogs.com/vless/p/18282705

相关文章

  • C++文件系统操作2 - 跨平台实现文件夹的创建和删除
    1.关键词2.fileutil.h3.fileutil.cpp4.filesystem_win.h5.filesystem_win.cpp6.filesystem_unix.cpp7.源码地址1.关键词C++文件系统操作创建文件夹创建多级目录文件夹删除文件夹删除文件夹下的所有文件和子目录跨平台2.fileutil.h#pragmaonce#incl......
  • 像学Excel 一样学 Pandas系列-创建数据分析维度
    嗨,小伙伴们。又到喜闻乐见的Python数据分析王牌库Pandas的学习时间。按照数据分析处理过程,这次轮到了新增维度的部分了。老样子,我们先来回忆一下,一个完整数据分析的过程,包含哪些部分内容。其中,Pandas的基础信息导入、数据导入和数据整理、数据探索和清洗已经在前几篇文章......
  • Day31.管理员创建学校
    1.管理员创建学校_代码执行流程2.管理员创建学校_视图层admin.py'''管理员视图'''frominterfaceimportadmin_interfacefromlibimportcommon,common_interface#todo管理员创建学校@common.auth('admin')defcreate_school():print('管理员创建......
  • Day31.管理员创建课程功能
    1.管理员创建课程_代码及执行流程2.管理员创建课程_管理员创建课程admin.py#todo管理员创建课程@common.auth('admin')defcreate_course():print('管理员创建课程...')whileTrue:#todo1.让管理员先选择学校#todo1.1调用接口,获取所有......
  • 【漏洞复现】金斗云 HKMP智慧商业软件 任意用户创建漏洞
    0x01产品简介金斗云智慧商业软件是一款功能强大、易于使用的智慧管理系统,通过智能化的管理工具,帮助企业实现高效经营、优化流程、降低成本,并提升客户体验。无论是珠宝门店、4S店还是其他零售、服务行业,金斗云都能提供量身定制的解决方案,助力企业实现数字化转型和智能化升......
  • 车载测试之-CANoe创建仿真工程
    在现代汽车工业中,车载测试是确保车辆电子系统可靠性和功能性的关键环节。而使用CANoe创建仿真工程,不仅能够模拟真实的车辆环境,还能大大提升测试效率和准确性。那么,CANoe是如何实现这些的呢?车载测试中,为什么选择使用CANoe创建仿真工程?它具备哪些独特的功能和优势,能够在复杂的车......
  • CANoe创建仿真工程
    在现代汽车工业中,车载测试是确保车辆电子系统可靠性和功能性的关键环节。而使用CANoe创建仿真工程,不仅能够模拟真实的车辆环境,还能大大提升测试效率和准确性。那么,CANoe是如何实现这些的呢? 车载测试中,为什么选择使用CANoe创建仿真工程?它具备哪些独特的功能和优势,能够在复杂的......
  • Java循环创建对象内存溢出怎么解决
    在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError)。这通常发生在以下几种情况中:(1)循环内不断创建对象但对象引用未被释放:对象被创建后,如果它们一直被引用(即使是间接的),垃圾收集器(GC)就无法回收它们占用的内存。(2)循环次数过多或对象体积......
  • Java循环创建对象内存溢出怎么解决
    在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError)。这通常发生在以下几种情况中:(1)循环内不断创建对象但对象引用未被释放:对象被创建后,如果它们一直被引用(即使是间接的),垃圾收集器(GC)就无法回收它们占用的内存。(2)循环次数过多或对象体......
  • VMware vSphere Tanzu部署_11_创建TKC命名空间
    创建TKC命名空间创建命名空间窗口tkc-01命名空间授权命名空间权限配置命名空间的访问权限配置tkc-01命名空间调用的存储配置tkc-01关联的VM服务此处勾选的VM类,将决定tkc集群可部署的集群节点大小和类型......