찾다

 >  Q&A  >  본문

데이터가 server.py에 성공적으로 저장되었지만 데이터를 검색하려고 할 때 404 찾을 수 없음 오류가 발생했습니다.

학생 이름, 색인 번호, 평균 성적을 저장할 수 있는 server.py 파일을 작성했습니다. client.html 파일을 실행하고 데이터를 입력한 후 학생 추가를 클릭하면 학생이 성공적으로 추가되었다고 표시되지만 학생 가져오기 기능을 사용하기 위해 색인을 입력하면 404 Student Not Found라고 표시됩니다.

server.py 파일 코드는 다음과 같습니다.

으아아아

client.html 파일 코드는 다음과 같습니다.

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/<int:index>', 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)

P粉668019339P粉668019339336일 전457

모든 응답(1)나는 대답할 것이다

  • P粉300541798

    P粉3005417982024-02-22 13:35:20

    html 페이지에서 두 요소(색인 세트 상자 및 가져오기 상자)에 동일한 ID를 지정했기 때문에 코드는 첫 번째 요소만 찾습니다. 따라서 사전의 색인은 " "와 같고 코드는 이를 찾을 수 없습니다. .

    EDIT: 또 다른 오류는 인덱스가 문자열이어야 하고 get 함수에서는 문자열이어야 한다는 것입니다. [그냥 index = str(index) 하세요]

    도움이 되길 바랍니다.

    회신하다
    0
  • 취소회신하다