DRF 5

DRF 를 이용한 JWT 사용하기

인증의 종류 1. 세션 인증 다시 살펴보기. 기본적으로 브라우저에서 사용자가 **인증(Authentication)**을 수행하면 서버에서는 사용자의 정보를 저장하고, 그 응답으로 JSESSIONID 라는 키를 이용해 클라이언트(사용자) 브라우저의 쿠키에 세션의 정보를 저장하게 됩니다. 이후 클라이언트는 브라우저 쿠키에 저장된 JSESSIONID 로 저장된 세션 정보를 이용해 **인가(Authrization)**된 정보에 접근할 수 있게 됩니다. 2. 토큰 인증 방식 알아보기. 토큰인증 방식은 사용자가 인증을 수행하면 서버에서는 토큰을 생성한 뒤에 저장하지 않고(stateless) 토큰값을 사용자의 브라우저에게 응답합니다. 이 토큰 값을 사용자가 인가된 사용자만 사용할 수 있는 서비스를 요청할 때 함께 보..

DRF 특강 | 4일차

user admin admin을 다른 필드와 동일하게 설정할 경우 비밀번호 설정 시 평문 비밀번호로 입력되어 로그인이 불가능하다. 때문에 아래 예시와 같이 UserAdmin을 상속받아야 한다. user/admin.py from django.contrib.auth.admin import UserAdmin as BaseUserAdmin class UserAdmin(BaseUserAdmin): list_display = ('id', 'username', 'fullname', 'email') list_display_links = ('username', ) list_filter = ('username', ) search_fields = ('username', 'email', ) fieldsets = ( ("inf..

DRF 특강 | 3일차

역참조 : 외래 키를 사용해 참조하는 object를 역으로 찾을 수 있다. 왜래 키 지정 시 related_name 옵션을 사용해 역참조 시 사용될 이름을 지정할 수 있다. releated_name을 지정하지 않는다면 기본적으로 tablename_set 형태로 지정된다. onetoone 은 예외로 _set 이 붙지 않는다. 소문자로 참조 : UserProfile -> userprofile 또는 userprofile_set - ex) `hobby.userprofile_set` → hobby를 참조하고 있는 UserProfile 테이블의 object를 져옴 - models.py에서 releated_name을 `user_hobby` 로 지정했다면 `hobby.user_hobby`와 같이 사용 userprofi..

DRF 특강 | 2일차

Views.py 에서 request 처리 1. FBV 또는 CBV 형식 FBV : Function Base View CBV : Class Base View 둘다 잘 활용할줄 알아야하지만 CBV 를 더 많이 쓴다 2. APIView : CBV로 정의 됨. APIView 를 상속받은 클래스 안에 request method에 맞는 함수들을 정의해주면 각각의 요청은 request method 이름에 맞게 구분되어 그에 맞는 결과를 반환한다. (ex : post 요청은 post 함수로) 3. REST API - http method 종류 get : 조회 post : 생성 put : 수정 delete : 삭제 - 참조 : https://gmlwjd9405.github.io/2018/09/21/rest-and-res..

DRF 특강 | 1일차

환경 : Python (with venv) / VS code / Postman DRF : Django Rest Framework 기존 django 에서 확장된 기능들을 이용 ex) Serializer 프로젝트 준비하기 1. venv 설치 python -m venv venv : venv 생성 .\venv\Scripts\activate : 가상환경접속 deactivate : 가상환경에서 나오기 2. requirements 활용 pip list pip freeze requirements.txt 받을때는 pip install -r requirements.txt 3. DRF 준비하기 pip install django pip install djangorestframework settings.py - INSTALLE..