반응형


Django REST framework를 사용하는 이유는?

  • 웹브라우저 API는 개발자에게 큰 사용성을 즉 개발을 쉽게 만들어 준다.
  • 인증 정책에 OAuth1, OAuth2를 위한 추가적인 패키지가 추가 되어 있는 경우
  • 시리얼라이즈 기능을 제공을 해준다. (DB data -> JSON)
  • 문서화 및 커뮤니티 지원이 잘되어 있다.


Django REST framework 설치

pip install djangorestframework

설치는 간단합니다. 파이썬 가상환경을 사용하는 경우는 pipenv를 사용하여 설치해주시기 바랍니다.


다음으로는 django 세팅으로 가셔서 INSTALLED_APP 부분에 'rest_framework'을 명시해주세요.

INSTALLED_APPS = (
    ...
    'rest_framework',
)


Django REST framework 사용 예시

1. 시리얼라이저를 만들어 줍니다. (user/serializers.py)

from rest_framework import serializers # Serializers define the API representation. class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('url', 'username', 'email', 'is_staff')

user이라는 모델에서 url / username / email / is_staff 라는 필드를 DB에서 갖고 오기 위한 시리얼라라이저 입니다.

DB에서 위에 필드를 갖고와 JSON으로 변경하기 위한 작업.


2. view 로직을 만들어 줍니다. (user/views.py)

from rest_framework.views import APIView
from rest_framework.response import Response
from . import models, serializers

class ListAllUsers(APIView):

    def get(self, request, format=None):
        all_users = models.User.objects.all()
        serializer = serializers.UserSerializer(all_users, many=True)

        return Response(data=serializer.data)

위에서 만든 시리얼라이저를 이용하여 view에서 import를 해서 사용해줍니다.

해당 필드들이 json형태로 리턴되어집니다.

반응형

+ Recent posts