이번에는 수정버튼을 구현해보도록 하였다.
function modify_comment(num) {
$('#post-box').empty()
let temp_html = `<div class="input-group mb-3">
<label class="input-group-text" for="inputGroupSelect01">별점</label>
<select class="form-select" id="modify_star">
<option selected>-- 선택하기 --</option>
<option value="1">⭐</option>
<option value="2">⭐⭐</option>
<option value="3">⭐⭐⭐</option>
<option value="4">⭐⭐⭐⭐</option>
<option value="5">⭐⭐⭐⭐⭐</option>
</select>
</div>
<div class="form-floating">
<textarea id="modify_comment" class="form-control" placeholder="Leave a comment here"></textarea>
<label for="floatingTextarea2">코멘트</label>
</div>
<div class="mybtns">
<button onclick="posting_modify(${num})" type="button" class="btn btn-dark">수정하기</button>
<button onclick="close_box()" type="button" class="btn btn-outline-dark">닫기</button>
</div>`
$('#post-box').append(temp_html)
$('#post-box').show() //수정버튼 눌렀을시 show
}
수정버튼 눌렀을때 나오는 수정할수있는 창을 만들어보았다.
// 수정 완료 버튼!!
function posting_modify(num) {
let modify_comment = $('#modify_comment').val()
let modify_star = $('#modify_star').val()
$.ajax({
type: 'POST',
url: '/movie/modify',
data: {'num_give':num, 'comment_give':modify_comment, 'star_give':modify_star},
success: function (response) {
alert(response['msg'])
window.location.reload()
}
})
}
#수정버튼 구현!
@app.route("/movie/modify", methods=["POST"])
def movie_modify():
num_receive = request.form['num_give']
comment_receive = request.form['comment_give']
star_receive = request.form['star_give']
print(num_receive,comment_receive,star_receive)
db.movies.update_one({'num': int(num_receive)}, {'$set': {'comment': comment_receive}})
db.movies.update_one({'num': int(num_receive)}, {'$set': {'star': star_receive}})
return jsonify({'msg':'수정 완료!'})
여기서 제일 어려웠던 부분은
db.movies.update_one({'num': int(num_receive)}, {'$set': {'comment': comment_receive}})
db.movies.update_one({'num': int(num_receive)}, {'$set': {'star': star_receive}})
이 부분이었는데 db.movies.update_one 이부분을 한줄만 쓰려고 엄청 애를썼다. 한줄만 쓸수있지는 않은걸까.. 모르겠어서 두줄을 써내려갔는데 된것이다. 생각보다 단순하게 보면 되는것이었다. 이렇게 스파르타 피디아 삭제와 수정버튼구현을 완료하였다.