Day32.合并登录功能
1.合并登录功能_学生登录详细代码及执行流程

2.合并登录功能_视图学生登录调用公共登录接口

公共接口层common_interface.py
'''公共接口''' import os from conf import settings from db import models # todo 公共登录接口 def login_interface(username, password, user_type): # todo 判断用户类型, 执行不同的查询流程 if user_type == 'admin': obj = models.Admin.select(username) elif user_type == 'student': obj = models.Student.select(username) elif user_type == 'teacher': obj = models.Teacher.select(username) else: return False, '登录角色不对,请输入角色' # todo 1. 判断用户是否存在 if obj: # todo 2. 若存在,则校验密码 if password == obj.pwd: return True, '登陆成功!' else: return False, '密码错误!' else: # todo 3. 若不存在,则证明用户不存在并返回给视图层 return False, '用户名不存在!'
学生视图层student.py
'''学生视图''' from lib import common from interface import student_interface from lib import common_interface # todo 全局记录用户登陆状态 student_info = {'user': None} # todo 学生登录 def login(): while True: student_username = input('请输入用户名:').strip() student_password = input('请输入密码:').strip() # todo 1.调用学生登录接口 # flag, msg = student_interface.student_login_interface( # student_username, student_password # ) # todo 从公共接口层中调用登录接口 flag, msg = common_interface.login_interface( student_username, student_password, user_type='student' ) if flag: # todo 在全局定义字典student_info, 记录当前用户登录状态,修改其中字典状态 student_info['user'] = student_username print(student_username, msg) break else: print(msg)
3.合并登录功能_视图老师登录调用公共登录接口

公共接口层common_interface.py如上,老师视图层teacher.py
'''老师视图''' from lib import common from lib import common_interface # todo 全局记录用户登陆状态 teacher_info = {'user': None} # todo 老师登录 def login(): while True: teacher_username = input('请输入用户名:').strip() teacher_password = input('请输入密码:').strip() # todo 从公共接口层中调用登录接口 flag, msg = common_interface.login_interface( teacher_username, teacher_password, user_type='teacher' ) if flag: # todo 在全局定义字典teacher_info, 记录当前用户登录状态,修改其中字典状态 teacher_info['user'] = teacher_username print(teacher_username, msg) break else: print(msg)
4.合并登录功能_视图管理员登录调用公共登录接口

公共接口层common_interface.py如上,管理员视图层admin.py
''' 管理员视图 ''' from interface import admin_interface from lib import common, common_interface # todo 全局记录用户登陆状态 admin_info = {'user': None} # todo 管理员登录 def login(): while True: admin_username = input('请输入用户名:').strip() admin_password = input('请输入密码:').strip() # # todo 1. 调用管理员登录接口 # flag, msg = admin_interface.admin_login_interface( # admin_username, admin_password # ) # todo 从公共接口层中调用登录接口 flag, msg = common_interface.login_interface( admin_username, admin_password, user_type='admin' ) if flag: # todo 在全局定义字典user_info, 记录当前用户登录状态, 修改其中字典状态 admin_info['user'] = admin_username print(admin_username, msg) break else: print(msg)
5.合并登录功能_管理员,学生,老师登录

浙公网安备 33010602011771号