diff --git a/README.md b/README.md index f74c8c2..b22163a 100644 --- a/README.md +++ b/README.md @@ -107,29 +107,29 @@ SQLAlchemy: ORM工具,用于与数据库交互(如果需要持久化存储 +-------------------+ ## 3.3 说明算法的关键与关键实现部分流程图(2分) -### 3.3.1. 后端(Flask API) - Flask 应用 (app.py): - 路由定义: - /students:处理学生的添加和获取。 - /attendance:处理点名记录的添加和获取。 - 数据存储: - 使用内存中的列表(students)和字典(attendance_records)来存储学生和点名记录,适合小型应用。 - 模型类: - Student、Class 和 AttendanceRecord 类用于定义数据结构和行为。 - 功能实现: - add_student(): 处理学生的添加请求。 - get_students(): 获取所有学生信息。 - take_attendance(): 处理点名请求,并更新学生的到场状态。 - get_attendance(): 获取特定日期的出勤记录。 -### 3.3.2. 前端(HTML + JavaScript) - 用户界面 (index.html): - 提供输入框和按钮用于添加学生、查看学生列表和点名。 - 使用 JavaScript 的 Fetch API 与后端进行交互。 - 功能实现: - addStudent(): 将新学生添加到系统。 - loadStudents(): 获取并展示学生列表。 - takeAttendance(): 处理点名过程,并提交到后端。 -### 3.3.3流程图 +#### 3.3.1. 后端(Flask API) +Flask 应用 (app.py): +路由定义: + /students:处理学生的添加和获取。 + /attendance:处理点名记录的添加和获取。 +数据存储: + 使用内存中的列表(students)和字典(attendance_records)来存储学生和点名记录,适合小型应用。 +模型类: + Student、Class 和 AttendanceRecord 类用于定义数据结构和行为。 +功能实现: + add_student(): 处理学生的添加请求。 + get_students(): 获取所有学生信息。 + take_attendance(): 处理点名请求,并更新学生的到场状态。 + get_attendance(): 获取特定日期的出勤记录。 +#### 3.3.2. 前端(HTML + JavaScript) +用户界面 (index.html): + 提供输入框和按钮用于添加学生、查看学生列表和点名。 + 使用 JavaScript 的 Fetch API 与后端进行交互。 +功能实现: + addStudent(): 将新学生添加到系统。 + loadStudents(): 获取并展示学生列表。 + takeAttendance(): 处理点名过程,并提交到后端。 +#### 3.3.3流程图 graph TD; A[用户输入学生ID和姓名] --> B[发送 POST 请求到 /students API] B --> C[后端接收请求并添加学生] @@ -139,15 +139,14 @@ graph TD; F --> G[发送 POST 请求到 /attendance API] G --> H[后端处理点名记录并更新学生状态] H --> I[返回点名结果给前端更新显示状态] - ## 3.4 贴出重要的/有价值的代码片段并解释(3分) ####3.4.1 Flask 应用及配置: - app = Flask(__name__) - CORS(app) # 启用 CORS - app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db' - app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False - app.config['MAX_CONTENT_LENGTH'] = 64 * 1024 * 1024 # 最大上传文件限制 - db = SQLAlchemy(app) +"app = Flask(__name__) +CORS(app) # 启用 CORS +app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db' +app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False +app.config['MAX_CONTENT_LENGTH'] = 64 * 1024 * 1024 # 最大上传文件限制 +db = SQLAlchemy(app)" Flask 应用实例:创建 Flask 应用实例。 CORS:启用跨域资源共享,允许前端与后端的跨域请求。 数据库配置:配置 SQLite 数据库及其连接字符串,设置 SQLAlchemy 的追踪修改功能为 False,以提高性能。