자료입력받아 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)
}
}
})
}
'html과CSS 초급' 카테고리의 다른 글
2021-06-26 (Mystar 만들기) (0) | 2021.06.26 |
---|---|
2021-06-24 (Meta 크롤링과 일반 Soup 크롤링) (0) | 2021.06.24 |
2021-06-22 (flask,venv,GET,POST) (0) | 2021.06.22 |
2021-06-21 (Pymongo DB 명령어) (0) | 2021.06.21 |
2021-06-19 (Soup 일반 크롤링과 For문으로 풀기) (0) | 2021.06.19 |