DongSup
dev's gait
DongSup
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • flask (13)
    • iOS (11)
    • python (22)
    • CS (21)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬
  • Swift
  • 한걸음
  • 첫글
  • 언어공부

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
DongSup

dev's gait

flask clone coding [4] (댓글 API)
flask

flask clone coding [4] (댓글 API)

2022. 11. 20. 23:18

 

 

 

이번에는 인스타 클론코딩을 진행 하면서 아래와 같이 구현 했습니다.

 

 

✔️ 무한스크롤 - 스크롤이 바닥에 닿을 때마다 게시물 로드

✔️ 댓글 API 

 

 


 

 

댓글API를 구현하면서,

데이터를 검증하는 부분에서 아래와 같이 기능을 추가해봤습니다.

 

✔️ 댓글 달기

 

+

 

✔️ 댓글 수정

✔️ 댓글 삭제

 

 

구현할 엔드포인트는 아래와 같습니다.

 

 

댓글을 작성한 유저만 댓글을 수정 / 삭제 할 수 있어야 합니다.

 

 

요청할 URL을 살펴보면, post_id 와 comment_id로 게시물에 대한 댓글을 수정할 수 있을 것 같습니다.

 

 


 

 

구현

 

class CommentDetail(Resource):
    @classmethod
    @jwt_required()
    def put(cls, post_id, comment_id):
        '''
        댓글 수정
        '''
        pass
        
    @classmethod
    @jwt_required()
    def delete(cls, post_id, comment_id):
        '''
        댓글 삭제
        '''
        pass

 

작성할 메서드는 위와 같습니다.

먼저 아래와 같이 댓글 수정을 구현해보겠습니다.

 

 

52줄 - JWT 토큰 요청을 보낸 username을 알아냄

53줄 - 알아낸 username을 가진 유저id를 알아냄

56줄 - 댓글이 있는지 확인

59줄 - 요청한 사용자 == 댓글 작성자 and 작성한 댓글에 해당하는 게시물 id == 게시물 id 

60줄 - 만족한다면 수정을 함

61줄 - 다르다면 수정하지 않음

 

이제 게시물 삭제하는 경우도 추가해보겠습니다.

 

 

이제 실제로 테스트 해보겠습니다.

 

올바른 Access Token을 담고

107 번째에 작성한 게시물에 댓글을 작성하겠습니다.

 

 

성공적으로 댓글이 작성 되었습니다.

 


 

이제 댓글 작성자의 author_id로 댓글을 수정해보겠습니다.

 

 

성공적으로 댓글수정이 되었습니다.

 


 

이제 삭제도 되는지 시도해보겠습니다.

 

 

성공적으로 댓글이 삭제 되었습니다.

 


 

마지막으로 올바르지 않은 댓글 작성자의 author_id로 댓글을 삭제요청 해보겠습니다.

 

 

요청한 사용자와 댓글 작성자가 일치하지 않으므로 삭제가 이루어지지 않습니다.

 


Reference Path

 

 

[REAL Python – Flask] – “인스타그램 클론코딩 – Instagram Clone (6)” - Gdsanadev_

이번에 수행할 것 폴더 구조 리팩토링 우리가 작성한 express 는 html, css, js 같은 정적 파일들을 서빙하는 역할만 했는데, assets/ 와 html 파일들을 굳이 분리해 두는 것은 합리적이지 않아 […]

gdsanadev.com

 


'flask' 카테고리의 다른 글

werkzeug 의 정규표현식  (0) 2022.11.16
WSGI와 Werkzeug  (0) 2022.11.16
flask clone coding [3] (JWT 구현)  (0) 2022.11.15
flask clone coding [2] (데이터 검증)  (0) 2022.11.13
flask clone coding [1] (Flask-SQLAlchemy 3.0 변경사항)  (0) 2022.11.06
    'flask' 카테고리의 다른 글
    • werkzeug 의 정규표현식
    • WSGI와 Werkzeug
    • flask clone coding [3] (JWT 구현)
    • flask clone coding [2] (데이터 검증)
    DongSup
    DongSup

    티스토리툴바