# StuSignIn **Repository Path**: LGangZhi/StuSignIn ## Basic Information - **Project Name**: StuSignIn - **Description**: 这是自我练习Django框架,搭建的一个学生打卡签到管理系统的后台。其中包括登录的用户有学生和老师。 该系统包括有登录、学生打卡签到。登录成功的学生可以查看自己的打卡记录,登录成功后的老师可以查看某个学生的打卡记录,或者查看某一天的打卡情况等; - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-27 - **Last Updated**: 2023-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # StuSignIn #### 介绍 这是自我练习Django框架,搭建的一个学生打卡签到管理系统的后台。其中包括登录的用户有学生和老师。 该系统包括有登录、学生打卡签到。登录成功的学生可以查看自己的打卡记录,登录成功后的老师可以查看某个学生的打卡记录,或者查看某一天的打卡情况等; #### 软件架构 Stu_Sign_In |_____apps |_____login: 管理登录方法,进行登录身份的识别,根据身份不同,分发不同的URL |_____manage_sys: 管理用户表,打卡记录表; |_____student: 学生的各个功能实现。 |_____teacher: 老师的各个功能实现。 |_____Stu_Sign_In: 负责项目的配置,URL分发等。 #### 接口说明 - 登录: - URL: login/ - 请求方式: GET - 返回响应: 登录界面 - 请求方式: POST - 返回响应: 判断身份,老师重定向至/teacher/, 学生重定向至/student/ - 学生打卡 - URL: student/signin/ - 返回响应: 无 - 学生查看自己的所有打卡记录 - URL: student/check/all - 请求方式:GET - 请求参数:无 - 返回响应: { [ {"stu_id": 用户id, "sign_time": 打卡时间, "state": 打卡状态}, {"stu_id": 用户id, "sign_time": 打卡时间, "state": 打卡状态}, {"stu_id": 用户id, "sign_time": 打卡时间, "state": 打卡状态}, ... ] } - 学生查看自己的部分打卡记录 - URL: student/check/part - 请求方式:GET - 请求参数: { start_check_time: Y-m-d H:M:S, end_check_time: Y-m-d H:M:S } - 返回响应: { [ {"stu_id": 用户id, "sign_time": 打卡时间, "state": 打卡状态}, {"stu_id": 用户id, "sign_time": 打卡时间, "state": 打卡状态}, {"stu_id": 用户id, "sign_time": 打卡时间, "state": 打卡状态}, ... ] } - 老师设置迟到时间 - URL:teacher/set_let_time/ - 请求方式:GET - 请求参数:let_time: H:M:S - 返回响应:设置成功 - 老师查看班级所有学生的打卡记录 - URL: teacher/check/all - 请求方式: GET - 请求参数: 无 - 返回响应: - { "results": [{ "stu_id": 学生学号, "username": 学生姓名, "sign_recode": [ {"sign_time": 打卡时间, "state": 打卡状态,}, ​ {"sign_time": 打卡时间, ​ "state": 打卡状态,}, ​ ]}, ​ { ​ "stu_id": 学生学号, ​ "username": 学生姓名, ​ "sign_recode": [ ​ {"sign_time": 打卡时间, ​ "state": 打卡状态,}, ​ {"sign_time": 打卡时间, ​ "state": 打卡状态,}, ​ ]}, ​ ] ​ } - 老师查看一个学生的所有打卡记录 - URL: teacher/check/one/ - 请求方式: GET - 请求参数: account: 学号 - 返回响应: { "stu_id": account, "username": username, "sign_recode": [{ "sign_time": 打卡时间, "state": 打卡状态,}, ​ { ​ "sign_time": 打卡时间, ​ "state": 打卡状态,}, ​ ]} ​ } - 查看某一天的学生打卡情况 - URL: teacher/check/one_day/ - 请求方式: GET - 请求参数: date: Y-m-d - 返回响应: { data: [ {"account": 学号, "username": 学生姓名, "sign_time": H:M:S}, {"account": 学号, "username": 学生姓名, "sign_time": H:M:S}, {"account": 学号, "username": 学生姓名, "sign_time": H:M:S}, ... ] } - 老师查看学生打卡主要在哪个时间段范围 - URL:teacher/sign_range/ - 请求方式:GET - 请求参数:None - 返回响应: { range: H - H: count }