..
How To Return Custom Json In Django Rest Framework
문제
장고의 DRF(django-rest-framework)를 이용해 API를 개발하고 있었다.
그러다 내가 원하는 json 데이터를 리턴하고 싶어 DRF를 사용하지 않고, 장고의 View와 JsonResponse를 사용해 데이터를 리턴했다.
from django.views import View
from django.http import JsonResponse
class TestView(View):
def get(self, request):
return JsonResponse({
'some': 'data',
'code': 200
})
위 코드를 실행해보니, 아래와 같이 텍스트만 나타났다. DRF를 이용하면 API를 실행할 수 있는 화면과 기능을 제공하는데, DRF를 이용하지 않으니 텍스트만 나타나 통일성도 없을 뿐더러 보기 불편했다.

해결
장고의 DRF에서 내가 원하는 json 데이터를 리턴하고 싶은 경우, DRF의 APIView와 Response를 이용해 데이터를 리턴하면 된다.
from rest_framework.views import APIView
from rest_framework.response import Response
class TestView(APIView):
def get(self, request):
return Response({
'some': 'data',
'code': 200
})
다시 실행해보니 이번에는 DRF의 API 실행할 수 있는 화면이 생겼다!

참고
https://stackoverflow.com/questions/35019030/how-to-return-custom-json-in-django-rest-framework
https://ssungkang.tistory.com/entry/Django-APIView-Mixins-generics-APIView-ViewSet을-알아보자