8.30(day27)选课系统

需求分析

三个视图层的功能

管理员:注册,登录,创建学校,老师,课程

教师层:登录,查看课程,选择课程,查看学生,修改成绩

学生层:登录,注册,选择学校,选择课程,查看成绩

整体思路

run文件,运行程序

conf,添加路径

core,视图层,admin等三个视图层,src,有run来调用

db,数据层,db_handler,定义两个函数,保存和读取,文件格式为pickle, models,存放类,调用db_handler内的方法,

interface,admin等三个接口层,与三个视图层和数据层交互, common_interface,公共接口,三个视图层都有可以调用

lib,装饰器,添加在三个视图层中需要登录才能使用的功能上面

创建文件夹及文件顺序

run(运行文件)---(core)src(选择功能,q退出,while循环,可以调用到三个视图层的功能字典)

---(core)admin,student,teacher(此时可以编写是三个视图层的功能字典,进而搭建整个视图层,

即定义各个函数,编写与用户交互的那部分)

---(core)admin(开始写功能,(登录,注册)ATM类似,admin---admin_interface,这个时候需要开始调用数据了)

---(db)models(封装类,需要调用db_handler内的方法)---(db)db_handler(编写db_handler文件,主要两个函数,查询,保存,格式为pickle,这个时候发现需要获取目录,先定义两个函数)

---(conf)settings(编写配置文件)---(db)db_handler(编写select,save方法)

---(core)admin(创建学校等功能,这个时候需要去写装饰器,同时models中出现代码冗余,可以定义一个父类)

---(lib)common(写装饰器,添加在部分功能呢上面)

---(开始写全部管理功能)

注意事项:如果input的判断条件不完善,使用字典的get方法,['k']不存在会报错,get不存在只会返回None

os.path.isdir():只判断文件夹是否存在

原文地址:https://www.cnblogs.com/jiann/p/11529135.html