반응형
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형태로 리턴되어집니다.
반응형
'Programming > python' 카테고리의 다른 글
[python] sphinx 란? (사용법) (0) | 2019.02.11 |
---|---|
[python] django decorate (0) | 2019.02.11 |
[python] django 튜토리얼 이후 (0) | 2019.01.09 |
[python] django 튜토리얼 part 6, about static file (0) | 2019.01.04 |
[python] django 튜토리얼 part 5, about automated testing (0) | 2019.01.02 |