목록 보기
Django, Django REST framework 본격적으로 사용하기
백엔드

Django, Django REST framework 본격적으로 사용하기

화해
화해
2021년 7월 27일

두줄요약

Django·DRF 프로젝트의 파편화와 API별 중복 구현을 공통 기능으로 개선했습니다.\n커스텀 renderer·예외 처리기와 DB 설정 분리로 표준화와 관리 편의성을 높였습니다.

문제 상황

  • 도메인·밴드별 Django 프로젝트 확대로 코드 스타일, 패키지 구조, 프레임워크 활용 방식의 파편화
  • 수동 운영 업무와 불충분한 어드민 기능으로 증가한 운영 리소스
  • API별 응답 형식·예외 처리 중복 구현과 설정 파일 내 DB 접속 정보 하드코딩

해결 방법

  • 신규 운영 어드민 TF에서 Django·DRF 공식 문서와 실습을 기반으로 공통화 가능한 기능 정리
  • 커스텀 renderer로 메타 정보와 데이터가 포함된 API 응답 형식 표준화
  • 커스텀 exception handler로 오류 응답 생성과 상태 코드 처리를 중앙화
  • MySQL 접속 정보를 별도 설정 파일로 분리하고 read_default_file 옵션으로 로드

구조와 흐름

  • DEFAULT_RENDERER_CLASSES로 전역 적용하거나 viewset·view의 renderer_classes로 선택 적용
  • EXCEPTION_HANDLER 설정의 핸들러 반환값을 renderer가 최종 응답 형식으로 처리
  • 배포 시 별도 DB 설정 파일을 생성하는 DevOps 협업 방향

적용해볼 점

  • 신규 프로젝트에서 검증한 공통 패턴을 기존 프로젝트로 단계적 확산
  • 기술 컨벤션·프로세스 논의를 통한 미공통화 영역의 지속 개선

다음 읽기

#Django 주제를 이어서 읽기

DRY를 위해 Django Manager를 적용해봅시다.

Django Manager와 커스텀 QuerySet으로 반복 ORM 쿼리를 줄이는 방법을 소개했습니다.\ndefault manager의 우선순위와 데이터 누락 위험을 고려한 팀 컨벤션의 필요성을 설명합니다.

화해
화해
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...