일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 읽기
- 운동
- Daily Challenge
- leetcode
- 3줄정리
- 쓰릴오브파이트
- 사이드
- 10분
- 프로젝트
- 월간
- 리얼 클래스
- 영어원서읽기
- 미드시청
- English
- 스탭퍼
- 만화도
- realclass
- 링피트
- Writing
- 파비최
- 개발자
- FIT XR
- 괜찮음
- 잡생각
- 화상영어
- 영어공부
- 30분
- 매일
- Problem Solving
- 뭐든
- Today
- Total
파비의 매일매일 공부기록
Two Scoops of Django - #29장 본문
이번장은 유틸리티에 대한 내용이다.
딱히 끌리는 내용은 없을 듯한데, 그래도 필요한 내용들은 정리할 예정이다.
1. 유틸리티들을 위한 코어 앱 만들기 : 프로젝트 전반에 걸쳐 쓰이는 함수들과 객체들을 넣어 두는 코어 장고 앱을 이용해 유틸리티들을 보관할 것
2. 유틸리티 모듈들을 이용해서 앱을 최적화
- 여러 곳에서 공통으로 쓰이는 코드 저장하기
- 모델을 좀 더 간결하게 만들기
- 좀 더 손쉬운 테스팅 가능
3. 장고 자체에 내장된 스위스 군용 칼 : 장고의 다수의 유용한 헬퍼 함수를 django.utils에 내장
- django.contrib.humanize : 좀 더 인간 친화적인 기능 제공
- django.utils.decorators.method_decorator(decorator) : 데코레이터
- django.utils.decorators.decorator_from_middleware(middleware) : 미들웨어
- django.utils.encoding.force_text(value) : python3의 str혹은 python2의 unicode형태로 변환
- django.utils.functional.cached_property : 메서드의 결과를 프로퍼티로 메모리에 캐시
- django.utils.html.format_html : str.format()과 유사
- django.utils.html.remove_tags(value, tags) : 보안상의 이유로 더 이상 지원 안 함
- django.utils.html.strip_tags(value) : 사용자가 보낸 데이터 중 HTML 코드 분리 필요시 사용
- django.utils.six : 요건 나도 씀. 파이썬 2와 3의 호환 라이브러리
- django.utils.text.slugify(value) : 웬만하면 slugify() 만들지 말 것. 이 함수를 사용 추천
- django.utils.timezone : 시간대 관련. 요즘 요거 때문에 이슈가 꽤 됨 ㅠㅠ
- django.utils.translation : 번역 관련 유틸
4. 예외 : 대부분 내부적으로 이용하지만 몇 가지는 외부로 노출되어 있음
- django.core.exceptions.ImproperlyConfigured : 이거 초반에 엄청 많이 봤던 에러. 설정 상의 문제를 알려주는 데 있음. 근데 어디가 문제인지 찾기가 어려웠음
- django.core.exceptions.ObjectDoesNotExist : 기본 Exception 모듈
- django.core.exceptions.PermissionDenied : 인증된 사용자가 허가되지 않는 곳에 접속 시도 시 발생. 보안이 매우 중시되는 프로젝트의 컴포넌트들과 민감한 데이터를 조작하는 함수에서 유용하게 사용 가능.
5. 직렬화 도구와 역직렬화 도구 : JSON, 파이썬, YAML, XML 데이터를 위한 직렬/역직렬화 도구 제공
- django.core.serializers.json.DjangoJSONEncoder : 날짜, 시간이나 소수점 데이터 인코딩 시 사용
- django.core.serializers.pyyaml : YMAL 직렬화시 사용 가능
- django.core.serializers.xml_serializer : XML 직렬화시 사용
'Study > Python' 카테고리의 다른 글
Two Scoops of Django - #31장 (0) | 2021.07.02 |
---|---|
Two Scoops of Django - #30장 (0) | 2021.07.01 |
Two Scoops of Django - #28장 (0) | 2021.06.29 |
Two Scoops of Django - #27장 (0) | 2021.06.28 |
Two Scoops of Django - #26장 (0) | 2021.06.27 |