ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로젝트 : 01. 모두의책리뷰(bookreview) - GET 연습
    카테고리 없음 2022. 6. 8. 10:11

    GET은 우리가 DB에 받아놓은 데이터들을 가져와서 뿌려주는 작업이기 때문에 POST 보다 간단하다

     

    먼저 app.py 를 보자

    @app.route('/review', methods=['GET'])
    def read_reviews():
        reviews = list(db.bookreview.find({},{'_id':False}))
        return jsonify({'all_reviews': reviews})
    
    

    db.bookreview에서 find를 통해 데이터를 찾아 가져오면 된다.

    우리는 db에 있는 내용만 가져오면 된다. 그래서 find({}) 와 _id:False 만 해주면된다.

    그런후 return 문에 reviews를 all_reviews에 담아서 보냈다.

     

    app.py는 다 되었으니 index.html을 보자

     

    showReview() 함수안에 GET요청을 담았다.

    showReview는 POST 때와는 다르게 페이지를 열면 바로 실행되게 설정을 해주어야 우리가 적은 리뷰들이 출력되니

    다음과 같이 적으면 된다.

    $(document).ready(function () {
        showReview();
    });
    function showReview() {
        $.ajax({
            type: "GET",
            url: "/review",
            data: {},
            success: function (response) {
                let reviews = response['all_reviews']
                for (let i = 0; i < reviews.length; i++){
                    let title = reviews[i]['title']
                    let author = reviews[i]['author']
                    let review =reviews[i]['review']
    
                    let temp_html = `<tr>
                                           <td>${title}</td>
                                           <td>${author}</td>
                                           <td>${review}</td>
                                      </tr>`
                    $('#reviews-box').append(temp_html)
                }
            }
        })
    }

    let reviews에 response['all_reviews']를 받아온 후 for문을 통해 각 리뷰내용(temp_html)을 정리해서 출력하게 담아주려한다.

     

    temp_html에 담은 후 reviews-box 안에 리뷰내용을 append로 담아주면 끝이다.

     

     

    전체 페이지 샷

     

    리뷰 작성해보기

     

    저장 완료!
    방금 적은 리뷰가 맨 밑에 출력된다.

Designed by Tistory.