과제2) 장고 심화 개인 과제 44444

2024. 5. 2. 15:22과제

전 글이 보고싶다면? 

https://hsjoo126.tistory.com/51

 

과제2) 장고 심화 개인과제! 또과? (또 과제냐는 뜻)

과제 한 게 엊그제 같은데... 또 돌아왔다! 과제....저번이랑 같은 기능을 구현해야하지만 이번에는 DRF를 사용해야한다!이번엔 프론트 엔드가 없다. 잘 되는지는 포스트맨으로 테스트할 것이기

hsjoo126.tistory.com

https://hsjoo126.tistory.com/52

 

과제2) 장고 심화 개인 과제2222

전 글이 궁금하다면?https://hsjoo126.tistory.com/51 과제2) 장고 심화 개인과제! 또과? (또 과제냐는 뜻)과제 한 게 엊그제 같은데... 또 돌아왔다! 과제....저번이랑 같은 기능을 구현해야하지만 이번에

hsjoo126.tistory.com

https://hsjoo126.tistory.com/54

 

과제2) 장고 심화 개인 과제333333

전 글이 궁금하다면? https://hsjoo126.tistory.com/51 과제2) 장고 심화 개인과제! 또과? (또 과제냐는 뜻)과제 한 게 엊그제 같은데... 또 돌아왔다! 과제....저번이랑 같은 기능을 구현해야하지만 이번에

hsjoo126.tistory.com

 

오늘도 좋은 아침! ... ㅎㅎ 

어제 필수 기능 구현을 다 끝내고,

선택 기능 중에서 내가 원하는 기능인 로그아웃과 회원탈퇴 기능을 구현했다. 

오늘이 과제 제출이어서 할 수 있는 만큼만 하고 내려고 한다 어차피 readme도 써야해서..ㅎ ㅋㅋㅋㅋ

 

  • 페이지네이션 및 필터링(검색기능)
    • 조건: 상품 목록 조회 시 적용됩니다.
    • 구현: 제목, 유저명, 내용으로 필터링이 가능하며, 결과는 페이지네이션으로 관리
  • (페이지네이션 / 필터링 / 검색기능으로 나뉜다.)

아무튼! 첫 번째로 구현해볼 것은 바로 페이지네이션이다.

https://www.django-rest-framework.org/api-guide/pagination/

 

Pagination - Django REST framework

pagination.py Django provides a few classes that help you manage paginated data – that is, data that’s split across several pages, with “Previous/Next” links. — Django documentation REST framework includes support for customizable pagination styl

www.django-rest-framework.org

 

APIView에서 페이지네이션을 구현하려고 했는데, 여기서 하려면 내가 싹다 커스텀 해줘야해서

ListAPIView로 상속 받아서 썼다. 

ListAPIView 와 APIView의 차이 
ListAPIView는 편하게 사용할 수 있는 클래스, 더 많은 걸 장고에게 위임
쉽게 말해 장고야 일 더 해라!
#settings.py
REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10,
}

#views.py
from rest_framework.pagination import PageNumberPagination

...
class ProductListAPIView(ListAPIView):
...
    pagination_class = PageNumberPagination
    serializer_class = ProductsSerializer

    def get_queryset(self):
        return Products.objects.all()
....

이렇게 해주니까 되던데요 ? 

포스트맨 실행 결과, next 옆에 있는 url을 누르면 다음 페이지로 넘어간다.
커밋 완료

 

게시글 좋아요 기능 구현 완료 

포스트맨 실행 해당 상품의 좋아요 링크로 가서 send를 누르면
데이터베이스에 잘 들어옴
포스트맨에서 다시 샌드를 누르면? 사라짐!
좋아요 기능 및 다른 것도 다 수정해서 main 브랜치에 올린 후 커밋 & 푸쉬까지 완료!!

사실 좋아요 기능은 전에 했던 거 복붙 느낌이라... 별로 힘 안 들이고 했다 ㅋㅋㅋㅋㅋㅋ

 

 

어쨌든 완성!!!

혹시 완성 작품이 궁금하신 분들은 이 곳으로!!

https://github.com/hsjoo126/spartamarket_DRF

 

GitHub - hsjoo126/spartamarket_DRF

Contribute to hsjoo126/spartamarket_DRF development by creating an account on GitHub.

github.com

 

아 좋아요 기능 때문에.... ERD 수정해야 되네 행복해 진짜로 ;;;;; 하아

수정 완료...

 

 

오케 이제 진짜 readme 쓰러 간다 ;;; 확인 ;;;

api이름 내용 목적 메소드 예시도 넣어주면 좋음 , 어떤 값이 입출력되는지 

'과제' 카테고리의 다른 글

과제2) 장고 심화 개인 과제333333  (0) 2024.05.02
과제2) 장고 심화 개인 과제2222  (0) 2024.04.30