자료입력받아 DB에 저장하기

API부분

@app.route('/review', methods=['POST'])
def write_review():
title_receive = request.form['title_give'] #html에서 request.form을써서 title_give를 받아와서 title_receive에 저장
author_receive = request.form['author_give'] #html에서 request.form을써서 author_give를 받아와서 author_receive에 저장
review_receive = request.form['review_give'] #html에서 request.form을써서 review_give를 받아와서 review_receive에 저장

doc = {'title':title_receive,'author':author_receive, 'review': review_receive} #DB용 딕셔너리를 만든다.
db.bookreview.insert_one(doc) #bookreview라는 컬럼DB를 생성시킨다.

return jsonify({'msg': '이 요청은 POST!'}) #MSG에 해당 메세지가 들어가있는 MSG를 반환한다.

 

자료입력받아 DB에 저장하기

HTML부분

function makeReview() {
let title = $('title').val(); /*title에 입력받은 값을 title에 저장*/
let author = $('author').val(); /*author에 입력받은 값을 author에 저장*/
let review = $('bookReview').val(); /*bookReview에 입력받은 값을 review에 저장*/
$.ajax({
type: "POST",
url: "/review",
data: {title_give:title, author_give:author,review_give:review}, /* api별로 보낼 give들에 앞서 저장한 값들이 저장된 변수들을 배열*/
success: function (response) {
alert(response["msg"]); /* makereview함수가 success디면 msg를 알람함*/
window.location.reload();
}
})
}

--------------------------------------------------------------------------------------------

DB에 저장된 자료를 GET으로 가져와 HTML에 추가하기

API부분

@app.route('/review', methods=['GET'])
def read_reviews():
reviews = list(db.bookreview.find({}, {'_id': False})) #bookreview로만든DB에서 {}전체값을 찾아서 reviews에 넣는다
return jsonify({'all_reviews': reviews}) #reviews reviews_all로 만들어전송한다.

 

HTML부분

function showReview() {
$.ajax({
type: "GET",
url: "/review",
data: {},
success: function (response) {
let reviews = response['all_reviews'] /* api에서 보낸 reviews_all review에 저장*/
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)
}
}
})
}

 

 

 

 

 

+ Recent posts