选课系统作业(只做了管理员)

只做了管理员界面,先运行bin里面shiyan创建管理员账号和密码再运行star.py

 

shiyan.py

# 创建初始管理员账户
import os,sys,json

BaseDir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,BaseDir)
from conf import settings

admin_dic={"user":"wxy","password":"1234"}
path=os.path.join(settings.ADMIN_BASEDIR,"w")
json.dump(admin_dic,open(path,"w"))

 star.py

 1 import os,sys,json
 2 
 3 
 4 user_format={"username_format_data":None,"authenticated_status":False}
 5 user_data_status=user_format
 6 BaseDir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 7 sys.path.insert(0,BaseDir)
 8 
 9 from core import main
10 
11 def run():
12       main.interface()
13 if __name__=="__main__":
14          run()

 settings.py

1 import sys,os
2 
3 Base_Dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
4 
5 SCHOOL_BASEDIR=os.path.join(Base_Dir,"data","School_data")
6 CLASS_BASEDIR=os.path.join(Base_Dir,"data","Class_data")
7 ADMIN_BASEDIR=os.path.join(Base_Dir,"data","admin_data")
8 STUDENT_BASEDIR=os.path.join(Base_Dir,"data","Student_data")
9 TEACHER_BASEDIR=os.path.join(Base_Dir,"data","Teacher_data")
 1 import os,sys,uuid,pickle
 2 from conf import settings
 3 
 4 # 创建学校对象
 5 class school_obj(object):
 6      # self.name保存输入的学校名
 7      # self.nid是随机生成的uuid为了后面文件保存防止文件名重名
 8       def __init__(self,name,school_adress):
 9          self.name=name
10          self.nid=str(uuid.uuid1())
11       def __str__(self):
12          return self.name
13 
14       # uuid生成唯一文件名保存到data里面的School_data文件夹
15       def school_save(self):
16         with open(os.path.join(settings.SCHOOL_BASEDIR,self.nid),"wb") as f:
17           pickle.dump(self,f)
18           f.close()
19       #直接查看并获得Scholl_data里面保存的所有学校对象
20       @staticmethod
21       def get_all():
22          school_obj_list={}
23          for item in os.listdir(os.path.join(settings.Base_Dir,"data","School_data")):
24             school_obj_item=pickle.load(open(os.path.join(settings.SCHOOL_BASEDIR,item),"rb"))
25             school_obj_list.append(school_obj_item)
26 
27          return school_obj_list
28 
29      # 直接查看并获得Scholl_data里面保存的所有学校对象名字
30       @staticmethod
31       def get_all_name():
32          school_obj_list=[]
33          for item in os.listdir(os.path.join(settings.Base_Dir,"data","School_data")):
34             school_obj_item=pickle.load(open(os.path.join(settings.SCHOOL_BASEDIR,item),"rb"))
35             school_obj_list.append(school_obj_item.name)
36 
37          return school_obj_list
38 
39 class class_obj(object):
40 
41     def __init__(self,name,class_to_school):
42         self.name=name
43         self.nid=str(uuid.uuid1())
44         # 将common_func过来的class_to_school也就是班级所关联的学校uuid获得
45         for item in os.listdir(os.path.join(settings.Base_Dir,"data","School_data")):
46             item_obj=pickle.load(open(os.path.join(settings.SCHOOL_BASEDIR,item),"rb"))
47             if item_obj.name==class_to_school:
48                 school_uuid=item
49         self.schooluuid=school_uuid
50     def class_save(self):
51         with open(os.path.join(settings.CLASS_BASEDIR,self.nid),"wb") as f:
52             pickle.dump(self,f)
53             f.close()
54     @staticmethod
55     def get_all():
56         class_obj_list=[]
57         for item in os.listdir(os.path.join(settings.Base_Dir,"data","Class_data")):
58              class_obj_item=pickle.load(open(os.path.join(settings.CLASS_BASEDIR,item),"rb"))
59              class_obj_list.append(class_obj_item)
60 
61         return  class_obj_list
62     @staticmethod
63     def get_all_name():
64         class_obj_list=[]
65         for item in os.listdir(os.path.join(settings.Base_Dir,"data","Class_data")):
66              class_obj_item=pickle.load(open(os.path.join(settings.CLASS_BASEDIR,item),"rb"))
67              class_obj_list.append(class_obj_item.name)
68 
69         return  class_obj_list
70 
71 class teacher_obj(object):
72 
73     def __init__(self,name,teacher_to_class):
74         self.name=name
75         self.nid=str(uuid.uuid1())
76         # 获得老师对应班级对象
77         for item in os.listdir(os.path.join(settings.Base_Dir,"data","Class_data")):
78             item_obj=pickle.load(open(os.path.join(settings.CLASS_BASEDIR,item),"rb"))
79             if item_obj.name==teacher_to_class:
80                 item_classobj=item_obj
81         self.Teacher_to_classobj=item_classobj
82 
83     def teacher_save(self):
84         with open(os.path.join(settings.TEACHER_BASEDIR,self.nid),"wb") as f:
85             pickle.dump(self,f)
86             f.close()
87 
88     @staticmethod
89     def get_all():
90         teacher_obj_list=[]
91         for item in os.listdir(os.path.join(settings.Base_Dir,"data","Teacher_data")):
92              teacher_obj_item=pickle.load(open(os.path.join(settings.TEACHER_BASEDIR,item),"rb"))
93              teacher_obj_list.append(teacher_obj_item)
94 
95         return  teacher_obj_list
all_obj.py

 

 1 from core import all_obj
 2 
 3 def Create_school_information():
 4 
 5             schoolname_input = input("学校名称:").strip()
 6             schooladress_input = input("学校地址:").strip()
 7             schoolobj = all_obj.school_obj(schoolname_input, schooladress_input)
 8             schoolobj.school_save()
 9 
10 def Create_class_information():
11             classname_input=input("班级名称:").strip()
12             allschool=all_obj.school_obj.get_all_name()
13             print("学校有:{}".format(allschool))
14             class_to_school=input("请输入班级所在学校:").strip()
15             classobj=all_obj.class_obj(classname_input,class_to_school)
16             classobj.class_save()
17 
18 def Create_teacher_information():
19             teachername_input=input("请输入老师名称:").strip()
20             allclass=all_obj.class_obj.get_all_name()
21             print("目前班级有:{}".format(allclass))
22             teacher_to_class=input("请输入老师所属班级:").strip()
23             teacherobj=all_obj.teacher_obj(teachername_input,teacher_to_class)
24             teacherobj.teacher_save()
common_func.py
posted @ 2020-01-21 17:05  学大师  阅读(191)  评论(0)    收藏  举报