|
|
|
@ -141,18 +141,18 @@ graph TD;
|
|
|
|
|
H --> I[返回点名结果给前端更新显示状态]
|
|
|
|
|
## 3.4 贴出重要的/有价值的代码片段并解释(3分)
|
|
|
|
|
####3.4.1 Flask 应用及配置:
|
|
|
|
|
"app = Flask(__name__)
|
|
|
|
|
`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,以提高性能。
|
|
|
|
|
文件大小限制:限制上传文件大小为 64MB
|
|
|
|
|
db = SQLAlchemy(app)`
|
|
|
|
|
Flask 应用实例:创建 Flask 应用实例。
|
|
|
|
|
CORS:启用跨域资源共享,允许前端与后端的跨域请求。
|
|
|
|
|
数据库配置:配置 SQLite 数据库及其连接字符串,设置 SQLAlchemy 的追踪修改功能为 False,以提高性能。
|
|
|
|
|
文件大小限制:限制上传文件大小为 64MB
|
|
|
|
|
####3.4.2上传学生名单
|
|
|
|
|
@app.route('/upload_students', methods=['POST'])
|
|
|
|
|
`@app.route('/upload_students', methods=['POST'])
|
|
|
|
|
def upload_students():
|
|
|
|
|
# 文件检查和处理
|
|
|
|
|
...
|
|
|
|
@ -163,7 +163,7 @@ db = SQLAlchemy(app)"
|
|
|
|
|
student = Student(name=row['姓名'], student_id=row['学号'])
|
|
|
|
|
db.session.add(student)
|
|
|
|
|
db.session.commit()
|
|
|
|
|
return jsonify(message="学生名单上传成功"), 200
|
|
|
|
|
return jsonify(message="学生名单上传成功"), 200`
|
|
|
|
|
文件上传:接收学生名单的 Excel 文件,检查文件格式和内容。
|
|
|
|
|
数据验证:确保文件包含必需的“姓名”和“学号”列。
|
|
|
|
|
数据存储:使用 Pandas 读取 Excel 文件并将学生信息存入数据库。
|
|
|
|
|