我编写了一个 server.py 文件,可以保存学生的姓名、索引号和平均成绩。当我运行client.html文件并输入数据并单击添加学生时,它说学生已成功添加,但是当我输入他的索引以使用获取学生功能时,它说404学生未找到。 p>
这是server.py文件代码:
from flask import Flask, request, jsonify
import pickle
app = Flask(__name__)
try:
with open('students.pickle', 'rb') as f:
students = pickle.load(f)
except FileNotFoundError:
students = {}
@app.route("/")
def index():
with open("client.html") as f:
return f.read()
@app.route('/add_student', methods=['POST'])
def add_student():
name = request.form.get('name')
surname = request.form.get('surname')
index = request.form.get('index')
grade = request.form.get('grade')
students[index] = {'name': name, 'surname': surname, 'index': index,'grade': grade}
with open('students.pickle', 'wb') as f:
pickle.dump(students, f)
return jsonify(message='Student added successfully'), 201
@app.route('/get_student/', methods=['GET'])
def get_student(index):
student = students.get(index)
if student:
return jsonify(student)
else:
return 'Student not found', 404
if __name__ == '__main__':
app.run(host='localhost', port=8000, debug=True)
这是 client.html 文件代码:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
在 html 页面中,您为两个元素指定了相同的 id(索引设置框和获取框),因此代码仅查找第一个元素,因此字典中的索引将等于“ " 并且代码找不到它。
编辑:另一个错误是索引必须是字符串,在get函数中必须是字符串。 [只需执行index = str(index)]
希望有帮助。