해결된 질문
작성
·
222
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는 요청을 받아서 중개의 역할을 하는 거죠.