TIL

TIL 3일 차

용찬 2023. 5. 19. 12:21

Today i learn

 

팀 프로젝트 中

-GET, UPDATE, DELETE 기능 구현하기

 

어제는 Live Server에서 실행이 되지 않고 GET 요청 시 데이터를 가져오지 않아

이 두 가지를 해결하려고 많은 시간을 썼다.

일단 오늘은 GET 요청이 왜 데이터를 가져오지 못했는지 해결을 하였는데....

더보기

기존의 코드

@app.route("/ohbro", methods=["GET"])
def ohbro_get():
    all_ohbro = list(db.ohbro.find({}, {'_id': False}))
    return jsonify({'result': 'all_ohbro'})

문제를 해결 한 코드

@app.route("/ohbro", methods=["GET"])
def ohbro_get():
    all_ohbro = list(db.ohbro.find({}, {'_id': False}))
    return jsonify({'result': all_ohbro})
 
'result' : all_ohbro
-> result에서 all_ohbro 를 호출하는 과정에서
'' << 작은 따옴표

위 코드를 보면 나오는데

데이터를 호출하는 과정에서 '데이터' 작은따옴표를 붙였다....

이러니 데이터가 호출이 되지 않고 완료되었다는 메시지만 호출이 되었던 것이다..

한참을 헤매다가 해결한 방법도 상당히 웃긴데

난 혼자 생각하기를 CHAT GPT는 최대한 사용하지 말아야겠다고 혼자 다짐을 했지만

코드상에 에러도 뜨지 않고 도저히 어떤 부분이 문제인지 알 수가 없어서 한참을 헤매다가

결국은 CHAT GPT에 코드 수정을 부탁하고

https://wepplication.github.io/tools/compareDoc/

↑ 위 사이트를 통해서 텍스트를 비교해 보고서야 문제점을 찾을 수 있었다......

나중에 올리겠지만 예전에도 이런 오타 아닌 오타로 몇 시간을 헤맸던 경험이 있다.

그때는 데이터 값을 입력을 안 해서 안되었는데 이번에는... 작은따옴표로 감쌀 거라고는 상상도 하지 못했다.

VS code를 사용하는데 혹시 누가 이런 오타도 잡아주는 확장 프로그램은 안 만들어주나..?!

아니면 혹시 있는데 내가 찾지 못하는 건가..

 

하여튼 이 문제들을 마무리하고

이제는 UPDATE, DELETE를 구현할 차례

@app.route("/ohbro/update", methods=["POST"])
def  comment_update():
    name_receive = request.form['name_give']
    hobby_receive = request.form['hobby_give']
    insta_receive = request.form['insta_give']
    mbti_receive = request.form['mbti_give']
    mbtiinfo_receive = request.form['mbtiinfo_give']
    db.ohbro.update_one({'name': name_receive}, {'$set': {'hobby': hobby_receive}})
    db.ohbro.update_one({'name': name_receive}, {'$set': {'mbti': mbti_receive}})
    db.ohbro.update_one({'name': name_receive}, {'$set': {'insta': insta_receive}})
    db.ohbro.update_one({'name': name_receive}, {'$set': {'mbtiinfo': mbtiinfo_receive}})
    return jsonify({'msg': '수정완료!'})

↑ UPDATE

@app.route("/ohbro/delete", methods=["POST"])
def name_delete():
    name_receive = request.form['name_give']
    db.ohbro.delete_one({'name': name_receive})
    return jsonify({'msg': '삭제완료!'})

↑ DELETE

 

이렇게 python으로 코드를 작성해 보았는데

실행이 되는지는 아직 확인을 해보지 못했다..

왜냐면 HTML 코드를 다 완성하지 못했기 때문이다.

console.log를 이용하면 되기는 하는데

그래도 처음 만들어보는 기능이니 만큼 내 두 눈으로 직접 확인해보고 싶은 마음이 크다.

사실 안 되는 부분을 해결하고 코드를 작성하다 보니 벌써 시간이 너무도 많이 흐른탓이다.

 

Live server는 말 그대로 HTML에서 코드를 작성해서 그 코드가 내가 원하는 대로

출력이 되는지를 보여주는 건데...

왜 거기서 데이터를 주고받는 걸 확인하려 했던 건지 의문이다.

그래서 그 부분에 대해 이해를 못 하고 있어서

팀원 분들께 여쭤보았는데

팀원 한 분이 "Live server는 HTML만 보여주는 거 아닌가요?"라고 말씀하시는데

아차 싶었다.

왜 그걸 까먹고 있었을까.....

힌트 주셔서 감사합니다!!


왜 안되는지 모르는 것도 싫었고 계속 똑같은 코드를 보다 보니 짜증이 났던 것도 사실이다.

그래도 몇 시간 내내 똑같은 코드만 보고 있다 보니

나름 데이터가 코드상에서 어떻게 흐르는지 대충 윤곽이 보이는 것만 같다.

하지만 아직도 많이 부족하다고 새삼 느낀다.

어느 부분을 어떻게 공부를 해야 더 완벽하게 할 수 있을지 궁금하다.

나중에 나도 이런 오타들은 아무렇지 않게 잡을 수 있는 그런 날이 오지 않을까 내심 기대해 본다.

아직은 알고 있던 부분들도 까먹고 많이 부족하다.

부족한 만큼 더 노력해서 열심히 공부해야지!

 

 

 

 

오늘은 본 캠프 3일 차!