Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Python
- 프로그래머스
- 불량 사용자
- 크레인 인형뽑기 게임
- 징검다리 건너기
- 카카오 인턴
- 티스토리 open api
- 튜플
- 가사 검색
- trie
- 알고리즘
- Open API
- CleanCode
- 보행자 천국
- 티스토리
- 트라이 #trie #알고리즘
- 호텔 방 배정
- jdbc
- bulk update
- 트라이
- pycon
- Tistory
- Spring Boot
Archives
- Today
- Total
택시짱의 개발 노트
Django DRF response format 만들기 (JSONRenderer 이용) 본문
django DRF를 이용해서 api를 만들면서 내가 원하는 형식으로 response를 만들기를 원했는데
DRF 문서를 보고 찾았습니다. (renderer)
www.django-rest-framework.org/api-guide/renderers/#jsonp
Renderers - Django REST framework
www.django-rest-framework.org
user의 정보를 알려주는 view는 modelviewset을 이용하였습니다.
![](https://blog.kakaocdn.net/dn/cOLAWz/btqXgoioPnI/c0hLbkyOXOjogHJoNaCKhK/img.png)
현재 api의 response는 필요한 data만을 제공해주고 있습니다.
![](https://blog.kakaocdn.net/dn/y4yOn/btqWX5LlTUF/7W0Lskv3kQjsvSZVa8K4l0/img.png)
여기서 저는 이런 형식의 response를 만들기를 원했습니다.
code, message, data를 분리하여 알려 줄수 있는 그런 형식....
![](https://blog.kakaocdn.net/dn/VbXG5/btqWWteTnAm/owFEj16Mtql5JC7XDhKksk/img.png)
DRF문서의 renderer에서 해결 방법을 찾을 수 있었습니다.
저만의 response형식을 만들기 위해서 renderers.py 파일을 하나 만들어 주고 JSONRenderer를 상속받아 override하였습니다.
![](https://blog.kakaocdn.net/dn/b8SgF8/btqWU8vvABm/JbCCE8sUfNzsGgpRTK0Ch1/img.png)
그리고 custom한 renderer를 적용을 위해서
settings.py의 REST_FRAMEWORK에 추가하였습니다. (renderers.py가 있는 경로와 class 이름을 추가 해줘야 됩니다!)
![](https://blog.kakaocdn.net/dn/dvnoEv/btqWX4S96z7/EuAW20zSXEHNBDB15evENK/img.png)
그리고 api의 응답을 확인해보니 제가 원하는 형식의 response를 얻을 수 있었습니다.
![](https://blog.kakaocdn.net/dn/42VTT/btqW4ii4Nwr/bjn3mR10gbjCApPiLgzicK/img.png)
제가 작성한 코드에 대한 문제점이나 지적할점이 있다면 과감히 댓글남겨주세요
더 많은 정보는 DRF 공식문서를 참조하시면 되겠습니다...
반응형
'Django(장고)' 카테고리의 다른 글
3장. 어떻게 장고 프로젝트를 구성할 것인가 (0) | 2021.09.02 |
---|---|
Two Scoops of Django - 1장 코딩 스타일 (0) | 2021.08.26 |
drf serializer에서 instance 유무의 차이 (0) | 2021.02.04 |
ORM (Object-Relational Mapping)이란 (0) | 2020.11.16 |
django에서 사용자가 정의한 request header 가져오기 (0) | 2020.08.07 |
Comments