본문 바로가기
카테고리 없음

[TIL]내일배움캠프 -Django DRF, Serializers

by Byeong 2024. 4. 24.

 

 

DRF를 공부하기 전 API에 공부할 필요가 있다. 

 

DRF는 Django REST Framework는 Django를 이용해서 API를 구축하는 기능을 제공하는 라이브러리이다.

 

그러면 API는 무엇일까??

 

API 

API는 Application Progrmming Interface이다. 즉 소프트웨어끼리 프로그래밍 언어를 통해 통신하는 방법이다.

 

우리는 이제 RESTful API를 통해  Json형식으로 서버와 클라이언트와 소통할 것이다. 

 

REST는 사람들 마다 정의가 다 다른데 나는 유저가 보낸 보청에 따라 보여주는 방식?? 이 부분은 따로 더 공부를 해보고 찾아봐야겠다.

https://ics.uci.edu/~fielding/pubs/dissertation/top.htm RESR논문 

 

규칙도 존제하는데 RESTful API는 작성한 결과를 보지 안고 Request만 보더라고 추론이 가능하다.

핵심 규칙
  자원 : URI로 표현
  행위 : HTTP Method로 표현
  표현
   자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용
   URI는 동사가 아닌 명사의 나열로 사용

 

Method는 POST, GET, PUT, DELETE + PATCH로 CRUD가 가능하다.

 

Json 

JavaScript Object Notation으로 JS 표기법으로 데이터를 담는 형식이다. dict처럼 key-value 형식으로 되었다.

 

 

Serializtion 

직렬혀 방식으로 데이터를 저장하고 전송하기위해 변경해서 작성을 하는데 우리는 이것을 DRF를 이용해서 사용할 것이다.

 

 


DRF 설치 

 

pip install djangorestframework

 

설치를 하면 언제나

pip freeze > requirements.txt

 

그리고 settings.py에 apps에 등록을 해주자 

INSTALLED_APPS = [
		'rest_framework',

 

 

 

Serializers.py 생성

 

우리는 이제 serializers.py를 통해 데이터를 불러와 사용을 할 것이다. 

models.py에 있는 model class 를 불러와 사용하자

class serializers name(serializers.ModelSerializer):
    class Meta:
        model = model class
        fields = "__all__"

 

model과 사용 법이 비슷하여 습득하기 매우 쉽다.

 

그리고 veiws.py에서는 꼭  함수형이면 데코레이터 api_view를 작성해 줘야 작동된다.

from rest_framework.decorators import api_view

@api_view(["GET"])
def

 

return에서는

from rest_framework.response import Response

return Response(serializer.data)

 

Response를 사용 한다.

 


마무리 

 

 전에 기초에서 했던 내용에 비하면 조금 쉬운 느낌이지만 아직 나의 손이 적응을 못했다. 여러 번 반복을 통해 나의 것으로 만들어 나가는 과정이 필요할 거 같다.