Error Overflow

NameError name 'jonify' is not defined

Fullstacknology 2022. 1. 4. 16:59

 

  jsonify 가 정의되지 않았다고 한다. 물론 정의한다고 해서 해결된 문제가 아니다. 애초에 변수로 쓰는게 아니기 때문이다. 

 

  작성한 코드는 이렇다.

 

from flask import Flask, request

app                 = Flask(__name__)
app.id_count        = 1
app.users           = {}

@app.route("/ping", methods=['GET'])
def ping():
    return "pong"

@app.route("/sign-up", methods=['POST'])
def sign_up():
    new_user                        = request.json
    new_user["id"]                  = app.id_count
    app.users[app.id_count]         = new_user
    app.id_count                    = app.id_count +1
    return jsonify(new_user)

 

  분명히.... 책에 있는 대로 작성했음에도 불구하고 어째서 이런 오류는 내뱉는가? 검색을 할 생각도 못 하고 그저 내 실수인가? 내가 놓친 부분이 있었는지 뚫어져라 책과 코드를 번갈아가며 봤음에도 불구하고 해결책을 찾을 수 없었다. 늦게나마 정신차리고 검색해서 알아본 결과 해결책은 이렇다. 

 

https://stackoverflow.com/questions/10727366/jsonify-is-not-defined-internal-server-error

  jsonify 를 import 하라는데 이건 분명 책에 없는 내용이였다. ping 엔드포인트와 합치기 전 페이지의 회원가입 코드에는 모듈 jsonify를 import 하였는데 뒷장에는 ping 엔드포인트 코드와 합칠때는 이 모듈이 빠져있었다. 그래서 의심없이 따라했는데 결국 오류와 마주하고 말았다. 

 

 

 

 

 

물론 내 탓이다 조금만 생각하면 jsonify를 import 하라는 바로 전 페이지를 참고 했어야 했다.