[python] 흐름을 이해하라

2022. 11. 8. 21:49BACKEND/HONEY TIP

 

 

 

나는 지금 무엇을 보고 있는가. 외계어 같아.

클라이언트와 서버가 서로 시그널을 주고받는 그 흐름을 잘 알아야 한다고 한다.

흐름을 이해하면서 코드를 적을 때 생각보다 세밀하게 신경써야 하는 부분이 많았다.

스펠링은 당연히 빨간불이고, 이건 그냥 오타.

괄호 역시 빨간불, 이건 열었으면 잘 닫아줘야 한다.

url이 들어가는 부분과 받는 부분을 잘 연결하지 않으면 여기도 빨간불. 변수가 들어가는 곳도 확인을 잘 해야 한다.

 

function cancel_list(num) { 
    $.ajax({
        type: "POST",
        url: "/list/cancel",                     // url 확인
        data: {cancel_give: num},                // data 확인
        success: function (response) {
            alert(response["message"])
            window.location.reload()
        }
    });
}

 

num을 받아와 cancel_give에 저장해서 그 데이터를 가지고 POST요청을 하면 같은 url을 가지고 있는 서버 쪽으로 넘어간다.

서버에서 이러저러한 일을 거쳐 다시 클라이언트로 넘어오는데 응답이 성공적이면 메세지를 띄우고 화면을 새로고침한다.

 

@app.route("/list/cancel", methods=["POST"])
def list_cancel():                               # 함수명 중복 확인
	cancel_receive = request.form['cancel_give']
    db.lists.update_one({'num' : int(cancel_receive)}, {'$set' : {'done' : 0}})
    return jsonify({'msg' : '취소 완료!'})

 

서버에서는 같은 url를 타고 넘어온 cancel_give를 request.form으로 받아와 cancel_receive에 다시 저장한다.

그리고 db에 접근하여 원하는 로직을 수행한 후 클라이언트로 반환된다.

참고로 request_form은 HTML 양식 또는 JSON으로 인코딩 되지 않은 JavaScript 요청의 키 또는 값 쌍을 저장한다.

 

 

 

 

'BACKEND > HONEY TIP' 카테고리의 다른 글

[honey tip] 간단한 git 명령어  (0) 2022.12.06
[honey tip] recommend blog for lombok & builder pattern  (0) 2022.11.30