본문 바로가기
TIL(Daily)/ETC

Mon/24/Oct/22/ Django심화-1

by Hawie 2022. 10. 25.

장고 심화 과정이 시작 되었다.

 

1주차 수업 은 HTTP와웹의 동작 방식에 대해서 배운다

 

먼저 DRF 에서 배우는데

 

DRF(Django Rest Framework)란 그래서 Django 안에서 RESTful API 서버를 쉽게 구축할 수 있도록 도와주는 오픈소스 라이브러리다.

Django REST framework를 사용하는 이유는 아래와 같다.

 

웹 브라우저 API는 범용성이 크다. 개발을 쉽게 만들어준다.

 

인증 정책에 OAuth1, OAuth2 를 위한 추가적인 패키지가 추가되어 있는 경우

 

시리얼라이즈 기능을 제공해준다. (DB data -> JSON)

 

문서화 및 커뮤니티 지원이 잘 되어있다.

 

또 가장 중요한 것은

Serializer

DRF의 가장 매력적인 기능으로는 Serializer가 있다.

Serializer란 말 그대로 직렬화하는 클래스로서, 사용자의 DB안에 사용자 프로필 사진, 이메일, 이름, 성별이 있다고 가정하면 사용자 모델 인스턴스를 JSON 형태 혹은 Dictionary 형태로 직렬화 할 수 있다.

 

예를 보면,

user = User(email="user@user.user", name="user", sex="Female", profile_image="user.png")
UserSerializer(user).data{
	"email" : "user@user.user",
    "name" : "user",
    "sex" : "female",
    "profile_image" : "user.png"
}

위와 같은 사용자가 있다면 DRF의 serializer를 통해 모델 인스턴스를 직렬화 할 수 있다.

실 사용시에는 만약 사용자 정보를 열람하는 URL이 /serializer/user/<user id>/가 있고 해당 View에는 user_id의 해당하는 모델 인스턴스의 정보를 리턴한다고 가정하자. 그렇게 되면 만약 우리가 /serializer/user/1/ 이라는 URL로 요청했을 시 user_id가 1인 사용자의 정보를 JSON 형태로 응답받을 수 있다.

이는 사용자 프로필 페이지에 접근했을 때 사용하는 View 라고 하면 사용자 페이지에 들어갈 때 마다 해당하는 사용자의 user_id만 URL에 입력해주게되면 각 사용자의 정보를 JSON 형태로 응답 받을 수 있을 것이다.

위와 같은 기능을 하는 Serializer를 ModelSerializer라고 부른다.

 

이 와 같이 텍스트로 만 보면 상당히 어렵다.

그리고 JS(자바스트립) 을 필수로 공부해야 된다.

처음 배우는 단계라 모르는게 너무 많다..

 

그래도 초기 강의 에서 배운적이 있기 떄문에 읽기 정도는 가능 하다.

 

정규 시간은 끝났지만.

지금부터 또 다른 공부를 하로 가겠다.

 

 

 

댓글