인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

오동통 삽겹살님의 프로필 이미지
오동통 삽겹살

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

'Thin View, Fat Model/Form, Stupid Template' 출처에 대하여

해결된 질문

작성

·

228

1

강사님 안녕하세요~
알찬 장고 강의를 만들어 주셔서 감사합니다!
강사님의 강의를 발판 삼아서 제 역량이 한 단계 도약할 수 있기를 기대하고 있습니다.

'Thin View, Fat Model/Form, Stupid Template'이라는 문장에 대한  출처 또는 상세 내용을 알고 싶습니다.

강의를 본격적으로 수강하기에 앞서 본 강의 질문에 대한 강사님의 답변을 훑어보다가 위와 같이 인상적인 문장을 발견했습니다.
이 문장 안에 장고의 핵심철학이 담긴 것 같아서 관련 내용을 웹에서 검색했지만 상세한 내용을 찾지 못했습니다. django 공식문서에도 관련 내용을 찾을 수 없었습니다.

혹시 위 문장에 대한 출처를 알려주실 수 있나요? 혹은 저 문장에 함의된 내용에 대해 부가적인 설명을 들을 수 있을까요?

참고로 위의 문장에 대해 혼동되는 부분을 아래와 같이 정리해보았습니다.

1. Thin View: Django 기반으로 API 개발 시 View에서 QuerySet을 조작합니다. QuerySet 조작에 따라 view에는 비지니스 로직이 포함되므로 Fat해지는 것이 자연스럽다고 생각하고 있습니다.
2. Fact Model: model에는 모델 필드와 제약사항 외에는 추가할 부분이 없어 보이는데 Fat하게 조작한다는 말이 이해되지 않습니다. 

강사님의 답변을 기다리겠습니다!

감사합니다 :)

답변 2

2

답글 감사합니다 :) 

의문이 깔끔하게 해결되었습니다. 말씀해주신 키워드 중심으로 공부해보겠습니다.

1

이진석님의 프로필 이미지
이진석
지식공유자

출처는 도서 <Two Scoops of django>의 서문입니다. 해당 책은 장고 1.8 버전으로 인사이트에 번역판도 있습니다. 현재 원서로 장고 3.x버전 집필 작업이 한창인 것으로 알고 있습니다.

모델은 클래스 이기 때문에 다양한 인스턴스 함수를 추가하실 수 있습니다. 모델 필드와 관련된 비즈니스 로직들을 모델에 적용하기 좋습니다.

View 단에서 비즈니스 로직이 포함될 수도 있지만, View 단에 구현하면 여러 View에 걸쳐서 동일한 로직이 반복될 수 있으니, CBV 상속으로 중복을 제거하실 수도 있으실 테고, 모델에 모아서 관리하시는 것이 나으실 수 있습니다. View는 요청을 받아서 중개의 역할을 하는 거죠.

오동통 삽겹살님의 프로필 이미지
오동통 삽겹살

작성한 질문수

질문하기