# 목차
1. 파이썬 조건문
2. 이벤트 객체
3. def
방명록 삭제 버튼을 누르면 팝업창이 두 번 뜨는 오류가 있었다.
파이썬 조건문을 수정하니 고쳐졌다.
@app.route("/comments/delete", methods=["POST"])
def guestbook_delete():
name_receive = request.form["name_give"]
comment_receive = request.form["comment_give"]
doc = {
'name': name_receive,
'comment': comment_receive
}
result = db.miniproject.delete_one(doc)
if result.deleted_count == 1:
return jsonify({'msg':'방명록이 삭제되었습니다.'})
else:
return jsonify({'msg': '삭제할 방명록을 찾을 수 없습니다.'})
여기 if문에서 else 부분을 없애니 바로 해결됐다.
@app.route("/comments/delete", methods=["POST"])
def guestbook_delete():
name_receive = request.form["name_give"]
comment_receive = request.form["comment_give"]
doc = {
'name': name_receive,
'comment': comment_receive
}
result = db.miniproject.delete_one(doc)
if result.deleted_count == 1:
return jsonify({'msg':'방명록이 삭제되었습니다.'})
이렇게 수정. 두번째 팝업창은 굳이 필요가 없어서 빼버렸다.
그리고 문제의 방명록 수정기능.
등록, 조회와 크게 다를 게 없어 보였지만 수정하려면 조회된 방명록칸을 글자를 입력할 수 있는 칸으로 바꾸고 이전 데이터를 불러오고 새로운 데이터로 바꾸고 그 데이터를 다시 불러오고.. 생각보다 어려웠다.
➔ 방명록 등록, 조회 기능까지는 id가 필요 없음.
하지만 수정하려면 id가 필요함.(그렇지 않으면 모든 방명록이 같이 수정됨.)
이번 프로젝트에서 데이터베이스로 사용한 mongoDB에서는 아이디를 _id로 자동으로 만들어줌.
이 아이디값을 event 객체를 사용하여 가져오면 된다!
여기서 event 객체란?
Event
- DOM에서 일어나는 이벤트.
- 마우스를 클릭하거나 키보드를 누르는 것과 같이 사용자의 액션에 의해 발생하는 사건을 의미함.
- 브라우저는 이벤트를 감지할 수 있다.
Event 객체
이벤트가 발생하는 요소 그자체.
event handler(event listner)
이벤트가 발생하면 작동하는 함수.
addEventListner()
@addEventListner('click',&)
function &(event) {
console.log(event);
}
➔ @를 클릭했을 때, &함수가 작동된다.
생성자
Event()
생성자. Event 객체를 생성하고 반환한다.
속성
Event.target
이벤트가 처음에 발생한 대상을 가리킴.
실제 이벤트가 발생하는 위치, 즉 실제 내가 클릭한 요소를 반환.
Event.currentTarget
이벤트의 현재 대상. 이벤트 전파 과정 중 지금 이벤트를 수신 중인 객체를 가리킴.
'리타겟팅'(retargeting)으로 인해 중간에 값이 바뀌었을 수 있다.
이벤트가 걸려있는 위치를 반환.
def는 함수를 정의할 때 사용한다.
def <함수명>(매개변수) :
<수행할 문장>
➔ <수행할 문장>을 실행시켜 주는 <함수명>을 가진 함수를 선언하겠다.
종일 오류 바로잡느라 보낸 하루..
+) 코딩 중 막히는 부분이 생기면 팀원분들과 나누고 같이 고민할 수 있어서 좋았다.
하지만 내가 어디서 어려움을 겪는지, 지금 어떤 상황이고 뭐가 문제인지 설명하는 게 생각보다 힘들다.
특히 파이썬은 기본 개념이 부족해서 그런지 내가 뭘 모르는지도 모른 채 물어보는 느낌.
원활한 소통과 프로젝트 진행을 위해서라도 기초지식을 탄탄히 쌓고, 내 상황을 파악한 후에 전달하도록 노력해야겠다.
++) 새로 알게된 함수, 객체, 기능 등등이 많았는데 사용할 땐 숙지한 것 같다가도 하루의 끝에 기록을 남기려니 기억이 안난다.
그동안 기한 안에 프로젝트를 끝내야 하니 오류 해결하는데 급급해서 문제가 풀리면 바로 다음 단계로 넘어가는 경향이 있었다.
앞으론 새로운 걸접하면 그때그때 메모해서 확실히 내 것으로 만들고 기록하는 습관을 가져야겠다.
[TIL] JavaScript 기초 - JS 기본 문법, 문, 배열과 객체 (0) | 2023.05.23 |
---|---|
[TIL] JavaScript 기초 - JS 언어의 특징과 역사, 표현식과 문, 함수 생성 (0) | 2023.05.22 |
[TIL] KPT 회고, 미니 프로젝트 발표 (0) | 2023.05.19 |
[TIL] Python, Flask, MongoDB, 미니 프로젝트 - 팀 소개 웹사이트 만들기 (0) | 2023.05.16 |
[TIL] 내일배움캠프 React 트랙 개강, 깃 & 깃허브, zsh command not found: 오류, 미니 팀 프로젝트 (0) | 2023.05.15 |
댓글 영역