🥸 포인트 1
- 애초에 댓글을 보여주는 메소드를 구현할 때 '게시물번호(고유번호)'를 delete 메소드의 파라메터로 넣어주었다.
<p style="display: none">${membernum}</p>
<p>${comment}</p>
<footer class="blockquote-footer">${name}</footer>
<button type="button" onclick="delete_comment(${membernum})">삭제</button>
function show_comment() {
$('#comment-list').empty()
$.ajax({
type: "GET",
url: "/homework",
data: {},
success: function (response) {
/* db에서 직접 받아오는 건 app.py에서 하고 */
let rows = response['comments']
/* for문 돌리는건 */
for(let i = 0 ; i < rows.length ; i++){
let membernum = rows[i]['membernum']
let name = rows[i]['name']
let comment = rows[i]['comment']
let deletenum = $('#deletenum')
let html_temp=`
<div class="card">
<div class="card-body">
<blockquote class="blockquote mb-0">
<p style="display: none">${membernum}</p>
<p>${comment}</p>
<footer class="blockquote-footer">${name}</footer>
<button type="button" onclick="delete_comment(${membernum})">삭제</button>
</blockquote>
</div>
</div>`
$('#comment-list').append(html_temp)
}
}
});
}
🥸 포인트 2
let membernum = rows[i]['membernum']
생성했던 이 membernum은 DB에 댓글 내용을 넣어주는 기능(post)을 만들때,
백엔드 단에서 아래와 같이 객체를 만들어 넘겨준 것이다. (클라이언트에게 받아온 내용이 아니다)
count = list(db.homeworktest.find({}, {'_id': False}))
num = len(count) + 1
먼저, db에 있는 데이터 개수를 쫙 뽑아오고, 그 갯수만큼을 len() 을 사용하여 개수 + 1로 num에 번호를 매겨준 것
( => 쉽게 말해, 기존 게시물 개수 + 1 = 새로운 게시물 번호 )
@app.route("/homework", methods=["POST"])
def homework_post():
count = list(db.homeworktest.find({}, {'_id': False}))
num = len(count) + 1
name_receive = request.form['nickname_give']
comment_receive = request.form['comment_give']
doc = {
'membernum' : num,
'name' : name_receive,
'comment': comment_receive,
}
# 저장
db.homeworktest.insert_one(doc)
return jsonify({'msg': '응원 저장이 완료되었습니다!!'})
🥸 포인트 3
- 댓글삭제 메소드
나는 포인트1에서 받아왔던 그 membernum을 백으로 넘겨주는 작업만을 설정했다.
function delete_comment(membernum){
$.ajax({
type: 'POST',
url: '/deletecomment',
data: {'delete_give': membernum },
success: function (response) {
alert(response['msg'])
window.location.reload()
}
})
}
🥸 포인트 4
포인트3에서 받아온 '고유 게시물번호'를 삭제하는 명령어 내릴 때 int 로 형변환 해주기
@app.route("/deletecomment", methods=["POST"])
def deletecomment_post():
delete_receive = request.form['delete_give']
db.homeworktest.delete_one({'membernum': int(delete_receive)})
return jsonify({'msg': '데이터 삭제가 완료되었습니다'})
'☕ 따뜻한 개발 한 잔' 카테고리의 다른 글
[js/html] '맨 위로' 버튼 구현하기 / '맨 아래' 버튼 구현 (주말공부) (0) | 2022.11.06 |
---|---|
[CSS] 다크모드? 생각보다 간단한 구현이었구나(주말공부) (0) | 2022.11.06 |
프로필 사진 (0) | 2022.11.01 |
기동대_ 프로젝트 제목 / 설명 / 와이어 프레임 (0) | 2022.10.31 |
[overflow] 위메프 따라하기 중 카테고리를 펼치자 아래 영역이 내려가 버림 | 해결 방법 (0) | 2022.10.04 |
댓글