일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 미드시청
- Writing
- 파비최
- 스탭퍼
- 화상영어
- leetcode
- Daily Challenge
- 30분
- 읽기
- 3줄정리
- Problem Solving
- 사이드
- 10분
- 리얼 클래스
- 운동
- 월간
- 쓰릴오브파이트
- 뭐든
- 잡생각
- English
- FIT XR
- 링피트
- 개발자
- 프로젝트
- 매일
- 괜찮음
- realclass
- 영어공부
- 영어원서읽기
- 만화도
- Today
- Total
파비의 매일매일 공부기록
Two Scoops of Django - #8장 본문
이번장은 함수 기반 뷰와 클래스 기반 뷰에 대한 내용이다.
나는 실무에서 REST 프레임워크도 사용하고, 일반 장고로 함수/클래스 기반 뷰도 사용하긴 하는데
요즘은 주로 REST 프레임워크만 사용해서 크게 집중할 만한 내용은 없긴 했다.
그럼에도 불구하고 이번장의 내용은 중요할 수 있으니 꼼꼼히 살펴봤다.
1. 함수 기반/클래스 기반 뷰를 어떤 상황에서 사용하는가 : 저자는 책에서 가이드라인을 제공하고 있다. 그런데 실무에서는 거의 클래스 기반 뷰만 사용한다. 보통은 subclass 형태로 상속받아 구현하는 경우가 많아서 그런 듯싶다.
2. URLConf로부터 뷰 로직 분리 : 보통 urls.py라는 모듈 내에서 URLConf를 통해 뷰로 라우팅 되는데 최대한 단순 명료하게 구성하는 게 좋다. 뷰 모듈은 뷰 로직을 포함, URL 모듈은 URL 로직을 포함하게만 구성할 것.
3. URLConf에서 느슨한 결합 유지 : 반복 작업 지양. 느슨한 결합 유지. URLConf는 한 번에 한 가지씩 업무 처리. 클래스 기반 뷰의 장점 살림. 무한한 유연성 유지
4. URL namespace 이용 : 확장성이 매우 좋으므로 활용하는 게 좋을 듯.
5. URLConf에서 뷰를 문자열로 지목하지 말 것 : 뷰를 문자열 대신 변수로 지정
6. 뷰에서 비즈니스 로직 분리 : 모델 메서드, 매니저 메서드 또는 일반적인 유틸리티 헬퍼 함수들을 활용해서 비즈니스 로직을 분리하는 게 용이하다. 물론 모든 프로젝트에서 초반부터 이렇게 하긴 어려울 수 있겠지만.
7. 장고의 뷰와 함수 : 기본적으로 장고에서 뷰는 HTTP를 요청하는 객체를 받아서 HTTP를 응답하는 객체로 변경하는 함수. 장고의 함수 기반 뷰는 HTTP 메서드에 중립적이지만 클래스 기반 뷰는 HTTP 메서드에 종속적.
8. locals()를 뷰 콘텍스트에 이용하지 말 것 : 뷰를 명시적인 콘텐츠로 이용하기를 추천.
'Study > Python' 카테고리의 다른 글
Two Scoops of Django - #10장 (0) | 2021.06.11 |
---|---|
Two Scoops of Django - #9장 (0) | 2021.06.10 |
Two Scoops of Django - #7장 (0) | 2021.06.08 |
Two Scoops of Django - #6장 (0) | 2021.06.07 |
Two Scoops of Django - #5장 (0) | 2021.06.06 |