일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 영어원서읽기
- English
- 미드시청
- 3줄정리
- 괜찮음
- 만화도
- 개발자
- 파비최
- 10분
- 프로젝트
- 쓰릴오브파이트
- Daily Challenge
- 매일
- Writing
- realclass
- 사이드
- Problem Solving
- 영어공부
- 스탭퍼
- 잡생각
- 리얼 클래스
- 월간
- 화상영어
- 읽기
- 뭐든
- 30분
- 링피트
- leetcode
- 운동
- FIT XR
- Today
- Total
파비의 매일매일 공부기록
Two Scoops of Django - #14장 본문
이번장은 템플릿 태그와 필터에 대한 내용이다.
장고를 처음 학습할 때 이 내용을 주로 살펴보라고 지시받았던 걸로 기억한다.
장고에서 템플릿 태그와 필터의 특징은 다음과 같다.
- 모든 기본 템플릿과 태그의 이름은 명확하고 직관적
- 모든 기본 템플릿과 태그는 각각 한 가지 목적만을 수행
- 기본 템플릿과 태그는 영속 데이터에 변형을 가하지 않음
1. 필터는 함수다 : 필터는 하나 또는 두 개의 인자를 받는 함수지, 개발자에게 장고 템플릿의 작동 통제하는 기능을 제공하지는 않는다. 기본적으로 장고 템플릿 안에서 파이썬을 이용할 수 있게 해주는 데코레이터를 가진 함수일 뿐이다.
- 필터들은 테스트하기 쉽다 : 단지 테스트 함수 작성만으로 테스트를 간단하게 할 수 있다.
- 필터와 코드 재사용 : 대부분의 필터 로직은 다른 라이브러리로부터 상속되어왔으며 이로 인해 코드의 재사용성이 높다.
- 언제 필터를 작성해야 하는가 : 외형을 수정하는 데 매우 유용하며 이런 필터들은 REST API와 다른 출력 포맷에서 손쉽게 재사용 가능하다.
2. 커스텀 템플릿 태그 : 너무 많은 템플릿 태그와 필터는 문제를 일으킬 수도 있다.
- 템플릿 태그들은 디버깅이 어렵다.
- 템플릿 태그들은 재사용이 어렵다.
- 템플릿 태그의 성능 문제 : 심각한 성능 문제를 야기할 수 있다.
- 언제 템플릿 태그를 이용할 것인가 :
i. 데이터를 읽고 쓰는 작업을 할 것이라면 모델이나 객체 메서드가 더 나은 장소일 것
ii. 프로젝트 전반에서 일관된 작명법을 이용하고 있기 때문에 추상화 기반의 클래스 모델을 core.models 모듈에 추가 가능한 상황일 때
3. 템플릿 태그 라이브러리 이름의 일반적인 규칙 : <app_name>_tags.py
4. 템플릿 태그 모듈 로드하기 : 명시적으로 원하는 태그를 로드 가능
- 반드시 피해야 할 안티 패턴 : 최대한 명시적으로 사용할 것. add_to_builtins 메서드는 관례적으로 이용하지 말 것
'Study > Python' 카테고리의 다른 글
Two Scoops of Django - #16장 (0) | 2021.06.17 |
---|---|
Two Scoops of Django - #15장 (0) | 2021.06.16 |
Two Scoops of Django - #13장 (0) | 2021.06.14 |
Two Scoops of Django - #12장 (0) | 2021.06.13 |
Two Scoops of Django - #11장 (0) | 2021.06.12 |