Framework/Django

FBV 와 CBV 차이점

JM Lee 2023. 6. 16. 03:42
728x90

FBV(Function-Based-View)

  • 함수 기반 View
  • 코드를 간단히 쓸 수 있음
  • 그러나 코드를 확장, 재사용하는 등 유지 보수에 있어 좋지 않음
  • 조건문으로 HTTP 메소드 구분해야하는 단점

CBV(Class-Based-View)

  • 클래스 기반 View
  • GET, POST 등 HTTP 메소드에 따른 처리 코드를 작성할 때 if 함수 대신에 메소드 명으로 코드의 구조가 깔끔하다.
  • 다중상속 같은 객체지향 기법을 활용해 Generic View, Mixin Class 등을 사용
  • 코드의 재사용과 개발 생산성을 높여준다.
  • View 안에서 같은 코드를 반복적으로 사용하지 않는다.
  • 403, 404, 500 에러 핸들링에는 CBV를 이용하지 않고 FBV를 이용한다.

'Framework > Django' 카테고리의 다른 글

MtoM 마이그레이션 오류(through 옵션)  (0) 2023.06.16
DRF Response()  (0) 2023.06.16
DRF Docs 입문  (0) 2023.06.15
API POST 코드 공부 (쿠팡)  (0) 2023.06.13
[트러블 슈팅] 인코딩 에러  (0) 2023.06.11