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

2024. 5. 2. 00:28과제

전 글이 궁금하다면?

 

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

 

 

오늘도 돌아온 과제 3탄이다...

어제의 내가 오늘의 나에게 체크리스트를 남겼으니 그거 먼저 확인해보자.


내일의 승주에게 남기는 체크리스트

  • 노션 보고 static & media 공부하기
  • 이미지 등록하기

회원가입 기능

  • 5. accounts->urls작성하기 (api/accounts/)
  • 6. accounts view 로직 작성하기 
  • 7. 포스트맨 실행해보기 method는 POST

--------------커밋하기---------------

로그인 기능

  • 8. accounts->urls작성하기 (api/accounts/login)
  • 9. login view 로직 작성하기 
  • 10. 포스트맨 실행해보기 method는 POST

--------------커밋하기---------------

프로필 조회기능

  • 11. accounts->urls작성하기 (api/accounts/<str:username>)
  • 12.  ??? view 로직 작성하기 (과정이 시리얼라이져 json)
  • 13. 포스트맨 실행해보기 method는 GET

오케.... 이미지 관련된 건 빠르게 하고! 

로그인 관련된건... 음 튜터님께 힌트를 얻거나 혼자 부딪혀 봐야할 거 같다

그렇담 시작~.~

 

완료된 체크리스트

  • 노션 보고 static & media 공부하기
  • 이미지 등록하기

포스트맨 실행결과
커밋 완료

생각보다 어려웠던 거 같다. 

 

 

회원가입 기능

  • 추가1. accounts 브랜치로 변경 후 products브랜치 pull해오기 
#저장소이름 뭔지 확인하기
git remote
#깃허브에 있는 브랜치 가져오기 
git pull origin 브랜치명
  • 5. accounts->urls작성하기 (api/accounts/)
  • 추가2. DB 작성하기.
User model 기본 fields

id : 사용자의 고유 식별자
password : 사용자의 로그인 PASSWORD
last_login : 사용자의 마지막 로그인 시간
is_superuser : 관리자 권한이 있는 사용자인지에 대한 여부
username : 사용자의 로그인 ID
first_name : 사용자의 이름
last_name : 사용자의 성
email : 사용자의 이메일
is_staff : 사용자가 스태프 권한을 가지는지에 대한 여부
is_active : 사용자 계정이 활정화 되었는지에 대한 여부
data_joined : 사용자가 가입한 날짜
groups : 사용자가 속한 그룹을 관리할 수 있는 필드
user_permissions : 사용자에게 부여된 권한을 관리하는 필드

https://docs.djangoproject.com/en/5.0/ref/models/fields/

  • 6. accounts view 로직 작성하기 

  • 7. 포스트맨 실행해보기 method는 POST

--------------커밋하기---------------

로그인 기능

  • 8. accounts->urls작성하기 (api/accounts/login)
  • 9. login view 로직 작성하기  
  • 10. 포스트맨 실행해보기 method는 POST

--------------커밋하기---------------

 

 

프로필 조회기능

  • 11. accounts->urls작성하기 (api/accounts/<str:username>)
  • 12.  ??? view 로직 작성하기 (과정이 시리얼라이져 json)
  • 13. 포스트맨 실행해보기 method는 GET

커밋완료
포스트맨도 잘 돌아간다!!

 

이렇게까지 하면 필수 기능 구현 끝 와아아아아ㅏ아아ㅏ

이제 선택 기능.... 하러 가보자 으으으으으

 

인줄 알았지만.... 회원가입할 때 성별과 자기소개 추가하는 게 빠져있어서 그거 추가해줬다..

포스트맨 실행
커밋 완료

 

로그아웃 기능

  • 30. accounts->urls작성하기 (api/accounts/logout)
  • 31. accounts view 로직 작성하기 작성할 필요 없음
  • 32. 포스트맨 실행해보기 method는 POST
  • 튜터님 힌트 : 리프레쉬 토큰을 블랙리스트에 등록 하는 것이 로그아웃이다

https://django-rest-framework-simplejwt.readthedocs.io/en/latest/blacklist_app.html

로그인해서 리프레쉬 토큰 긁어오기
로그아웃에 붙여넣기

 

 

회원 탈퇴 기능

  • 39. accounts->urls작성하기 (api/accounts)
  • 40. accounts view 로직 작성하기 
  •    조건: 로그인 상태, 비밀번호 재입력 필요.
  • 41. 포스트맨 실행해보기 method는 DELETE
  • 튜터님 힌트 1. user 조회한다
                      2. orm 을 이용해서 delete 한다
                      3. 적절응답을 내린다

--------------커밋&푸쉬하기---------------

비밀번호 입력하고 요청한 사용자와 비밀번호가 같을시 회원탈퇴
커밋완료

 

 

와아아아아아ㅏㅏ 현 시각 2시........

유저 선택 기능 구현 완료(내가 하고 싶은 것만 ㅋㅋㅋㅋ)

내일 일어나서 프로덕트 선택 기능 하면 될듯 나 자러간다 ㅃㅇ~~

 

 

 

 

 

페이지네이션은 

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

 

필터는 순수 코드 구현

 

검색

https://docs.djangoproject.com/en/4.2/ref/models/querysets/#std-fieldlookup-contains

 

QuerySet API reference | Django documentation

The web framework for perfectionists with deadlines.

docs.djangoproject.com

 

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

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