본문 바로가기
웹 프로그래밍(풀스택-->python)

44. 나홀로메모장 - POST 연습(메모하기)

by 백엔드개발자0107 2021. 4. 30.

앞서 공부했듯이

get은 read전용(조회)전용이라하였고

post는 create,update,delete 전용이라 하였다...

 

    function makeReview() {
            $.ajax({
                type: "POST",
                url: "/review",
                data: {
                    sample_give: '샘플데이터'
                },
                success: function (response) {
                    alert(response["msg"]);
                    window.location.reload();
                }
            })
        }
        

index.html 문서이고

 

@app.route('/review', methods=['POST'])
def write_review():
    sample_receive = request.form['sample_give']
    print(sample_receive)
    return jsonify({'msg': '이 요청은 POST!'})

app.py 문서이다.

 

request.form['sample_give'], 즉 브라우저가 서버에게 "sample_give"라는 데이터를 보내달라고 요청하고 있고

 

그에 따라 index.html의 문서(서버)는   응답한다.(response) 이때 key값으로 response["msg"] 를 응답및 jsonify로 

 

반환한다!

 

자,

 

인자, 이렇게 작성했으면, 제목 ,저자, 리뷰의 내용들을 DB에 저장할 서버가 필요할것이다...

 

어떻게 만들것이냐 그러면,,,, 바로 request.form['sample_give'],

 

이 함수를 응용하면 된다..!

 

@app.route('/review', methods=['POST'])
def write_review():
    title_receive = request.form["title_give"]
    author_receive = request.form["author_give"]
    review_receive = request.form["review_give"]

    print(sample_receive)
    return jsonify({'msg': '이 요청은 POST!'})

 

이런식으로 응용한다..!

 

 

 

자 이렇게 app.py로 서버에 연결할 작업을 마쳤으면 인제 db에 연결시켜야 한다.!

 

그럴때 기존에 만들어놨던 dbprac.py을 이용한다.

 

 

dbprac.py를 보면 알수 있듯이 doc = 딕셔너리 형태로 값을 저장한다는 것을 알수가 있다..!

 

마찬가지로 app.py에도 응용한다.

 

이런식으로 응용한다. db에 insert_one(doc)을 이용해서 값을 저장한다.

 

자 기존까지는 app.py(서버)에서 값을 요청해서 서버에서 브라우저에 값을 받은거고

 

인자 브라우저(index.html)에서는 값들을 서버에 쏘아준다. 그 과정이

 

      function makeReview() {

            let title =  $("#title").val()
            let author = $("#author").val()
            let review = $("#review").val()

            $.ajax({
                type: "POST",
                url: "/review",
                data: {
                    title_give: title,author_give: author,review_give: review
                },
                success: function (response) {
                    alert(response["msg"]);
                    window.location.reload();
                }
            })
        }

 

이런 과정이라 생각하면 된다.

 

만약 잘 진행이 되서 db에 값이 저장되었다면,

 

데이터베이스에 이런값이 저장이 될것이다.