IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 学生选课系统代码-4c【interface】视图层代码【MVC--c】代码 -> 正文阅读

[Python知识库]学生选课系统代码-4c【interface】视图层代码【MVC--c】代码

接口层代码:

admin_interface.py

common_interface.py

student_interface.py

teacher_interface.py

--------------------------

admin_interface.py ?



from db import models
"""
管理员接口
"""

#注册管理员接口
def admin_register_interface(username,password):


    #1.判断用户是否存在



    #调用Admin类中的select方法
    # 由该方法去调用db_handeler中的select_data功能获取对象
    admin_obj=models.Admin.select(username)


    #1.1若存在不允许注册,返回用户已存在的视图
    if admin_obj:
        return False,"用户已经存在"

    #1.2  若不存在则允许注册,调用类实例得到对象并保存
    admin_obj=models.Admin(username,password)
    # 对象调用save()会将admin_obj传给save方法
    admin_obj.save()

    return True,"注册成功!"


def admin_login_interface(username,password):
    #1.判断用户是否存在
    admin_obj=models.Admin.select(username)

    #2,若不存在,则证明用户不存在并返回给视图层
    if not admin_obj:
        return False,"用户名不存在!"

    #3.若用户存在则校验密码

    if password==admin_obj.pwd:
        return True,"登录成功!"
    else:
        return False,"密码错误!"


#管理员创建学校接口
def create_school_interface(schoool_name,schoool_addr,admin_name):
    #1.查看当前学校是否已存在
    #school_obj--->对象  or None
    school_obj=models.School.select(schoool_name)

    #2.若学校存在,则返回False告诉用户学校已存在
    if school_obj:
        return False,"学校已存在"
    #3.若不存在,则创建学校【由管理员对象来创建】

    admin_obj=models.Admin.select(admin_name)
    admin_obj.create_school(
        schoool_name,schoool_addr
    )

    #4.返回创建学校成功给视图层

    return True,f"[{schoool_name}]学校创建成功"

#管理员创建课程接口

def create_course_interface(school_name,course_name,admin_name):

    #1.查看课程是否存在
    #1.1先获取学校对象中的课程列表
    school_obj=models.School.select(school_name)
    #1.2判断当前课程是否存在课程列表中
    if course_name in school_obj.course_list:
        return  False,"当前课程已存在"

    #1.3若课程不存在,则创建课程,由管理员来创建

    admin_obj=models.Admin.select(admin_name)
    admin_obj.create_course(
        school_obj,course_name
    )

    return True,f"[{course_name}]课程创建成功,绑定给[{school_name}]校区"

#管理员创建老师接口
def create_teacher_interface(teacher_name,admin_name,teacher_pwd='123'):
    #1.判断老师是否存在
    teacher_obj=models.Teacher.select(teacher_name)

    #2.如果存在,则返回不能创建
    if teacher_obj:
        return False,"老师已存在"

    #3.若不存在,则创建老师,让管理员来创建

    admin_obj=models.Admin.select(admin_name)
    admin_obj.create_teacher(teacher_name,teacher_pwd)


    return True,f"[{teacher_name}]老师创建成功!"

common_interface.py ?


from db import models
from conf import settings
import os
"""

公共登录接口,为其他几个登录模块复用使用
"""
#参数 用户,密码,登录角色,例如“管理员登录,学生登录,老师角色登录”
def login_interface(user,pwd,user_type):

    if user_type=="admin":
        obj=models.Admin.select(user_type)

    elif user_type == "student":
        obj = models.Student.select(user_type)

    elif user_type == "teacher":
        obj = models.Teacher.select(user_type)

    else:
        return False,"登录角色不对,请输入角色"

    #1.判断用户是否存在
    if obj:
        #2.若用户存在,则校验密码
        if pwd==obj.pwd:
            return True,"登录成功!"
        else:
            return  False,"密码错误!"
    else:
        return False,"用户名不存在!"

# 获取所有学校名称接口
def get_all_school_interface():
    #获取所有学校文件夹路径
    school_dir=os.path.join(settings.DB_PATH,'School')

    #2.判断文件夹是否存在
    if not os.path.exists(school_dir):
        return False,"没有学校,请先联系管理员!"

    #3.文件夹若存在,则获取文件夹中所有文件的名字
    school_list=os.listdir(school_dir)
    return True,school_list


#获取学校下所有课程接口
def get_course_in_school_interace(school_name):

    #1.获取学校对象
    school_obj=models.School.select(school_name)

    #2.获取学校对象下所有课程
    course_list=school_obj.course_list

    if not course_list:
        return False,"该学校没有课程"

    return True,course_list

student_interface.py ?

"""

学生接口层
"""

from db import models


#学生注册接口

def student_register_interface(user,pwd):

    #1.判断用户是否存在
    #调用student类中的select方法
    #由该方法去调用db_handler中的select_data功能获取对象

    student_obj=models.Student.select(user)

    #1.1 若?不允许注册,返回用户已存在,给视图层
    if student_obj:
        return False,"学生用户已经存在"


    #1.2若不存在,则允许注册,调用类实例化得到对象并保存
    student_obj=models.Student(user,pwd)
    #对象调用save()会将admin_obj传给save方法
    student_obj.save()

    return True,"注册成功!"

#学生denglu接口
def student_login_interface(user,pwd):
    #1.判断用户是否存在
    student_obj=models.Student.select(user)

    #2.若不存在,则证明用户不存在并返回给视图层
    if not student_obj:
        return False,"用户名不存在!"
    #3.若用户存在,则校验密码
    if pwd==student_obj.pwd:
        return True,"登录成功"
    else:
        return False,"密码错误!"


#学生选择学校接口
def add_school_interface(school_name,student_name):
    #1.判断当前学生是否存在学校
    student_obj=models.Student.select(student_name)

    if student_obj.school:
        return False,"当前学生已经选择过学校了!"

    #2.若不存在学校,则给调用学生对象中选择学校的方法,实现学生添加学校
    student_obj.add_school(school_name)

    return True,"选择学校成功!"


#获取学生所在学校所有课程接口
def get_course_list_interface(student_name):
    #1.获取当前学生对象
    student_obj=models.Student.select(student_name)
    school_name=student_obj.school

    #2.判断当前学生是否有学校,若没有则返回False
    if not school_name:
        return False,"没有学校,请先选择学校"

    #3.开始获取学校对象中的课程列表
    school_obj=models.School.select(school_name)

    #3.1判断当前学校中是否有课程,若没有,则联系管理员添加
    course_list=school_obj.course_list
    if course_list:
        return False,"没有课程,请先联系管理员创建"

    #3.2若有则,返回课程列表
    return True,course_list

#学生选择学校接口
def add_course_interface(course_name,student_name):
    #1.先判断当前课程是否已经存在学生课程列表中
    student_obj=models.Student.select(student_name)

    if course_name in student_obj.course_list:
        return False,"该课程已经选择过了"

    #2.调用学生对象总添加课程的方法

    student_obj.add_course(course_name)

    return True,f"[{course_name}--课程添加成功!]"

# #学生选择学校接口
# #学生选择学校接口
# def add_school_interface(school_name,student_name):
#
#     #.1.判断当前学生是否存在学校
#     student_obj=models.Student.select(student_name)
#
#     if student_obj.school:
#         return False,"当前学生已经学则过学校了"
#
#     #2.若不存在学校,则给调用学生UI相中选择学校的方法,实现学生添加学校
#     student_obj.add_school(school_name)
#     return True,"选择学校成功!"



#学生查看分数接口

def check_score_interface(student_name):
    student_obj=models.Student.select(student_name)
    if student_obj.score:
        return student_obj.score

teacher_interface.py



"""
老师接口层
"""
from db import models

#老师查看课程接口
def check_course_interface(teacher_name):
    pass
    #1.获取当前老师对象
    teacher_obj=models.Teacher.select(teacher_name)
    #2.判断老师对象中课程列表是否有值
    #让老师对象,调用查看教授课程方法,返回课程
    #course_list=teacher_obj.course_list_from_tea

    # course_list=teacher_obj.course_list_from_tea
    course_list=teacher_obj.show_course()

    #3.若有则返回True,无则返回False
    if not course_list:
        return False,"老师没有选择课程"

    return True,course_list


#老师添加课程接口
def add_course_interface(course_name,teacher_name):
    #1.获取当前老师
    teacher_obj=models.Teacher.select(teacher_name)

    #2.判断当前课程是否在老师的课程列表中
    course_list=teacher_obj.course_list_from_tea
    if course_name in course_list:
        return False,"该课程已存在!"

    #3.若不存在,则添加该课程到老师课程列表中
    teacher_obj.add_course(course_name)

    return True,"添加课程成功!"



#老师获取课程下学生接口
def get_student_interface(course_name,teacher_name):
    #1.获取当前老师对象
    teacher_obj=models.Teacher.select(teacher_name)

    #2.让当前老师对象,调用获取课程下所有学生功能
    student_list=teacher_obj.get_student(course_name)

    #3.判断课程下是否有学生
    if not student_list:
        return False,"学生没有选择该课程!"

    return True,student_list


#老师修改分数接口
def change_score_interface(course_name,student_name,score,teacher_iname):

    #1.获取老师
    teacher_obj=models.Teacher.select(teacher_iname)
    #2.让老师对象调用修改分数方法
    teacher_obj.change_score(course_name,student_name,score)

    return True,"修改分数成功!"




  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:18:55  更:2022-03-16 22:20:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:31:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码