장고 심화 과정이 시작 되었다.
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(자바스트립) 을 필수로 공부해야 된다.
처음 배우는 단계라 모르는게 너무 많다..
그래도 초기 강의 에서 배운적이 있기 떄문에 읽기 정도는 가능 하다.
정규 시간은 끝났지만.
지금부터 또 다른 공부를 하로 가겠다.
'TIL(Daily) > ETC' 카테고리의 다른 글
Wen/26/Oct/22-CRUD복습 (0) | 2022.10.27 |
---|---|
Tue/25/Oct/22 - Django심화 -2 (0) | 2022.10.27 |
Fri/21/Oct/22 -머신러닝 프로젝트 5 (0) | 2022.10.22 |
Thu/20/Oct/22- 장고 머신러닝 프로젝트-4 (0) | 2022.10.21 |
Wen/19/Oct/22 -장고/머신러닝 프로젝트-3 (0) | 2022.10.20 |
댓글