티스토리 뷰
반응형
isinstance를 궁금하게 된 계기는 drf views.py를 조사하게 된 것이 계기였다.
def exception_handler(exc, context):
"""
Returns the response that should be used for any given exception.
By default we handle the REST framework `APIException`, and also
Django's built-in `Http404` and `PermissionDenied` exceptions.
Any unhandled exceptions may return `None`, which will cause a 500 error
to be raised.
"""
if isinstance(exc, Http404):
exc = exceptions.NotFound()
elif isinstance(exc, PermissionDenied):
exc = exceptions.PermissionDenied()
if isinstance(exc, exceptions.APIException):
headers = {}
if getattr(exc, 'auth_header', None):
headers['WWW-Authenticate'] = exc.auth_header
if getattr(exc, 'wait', None):
headers['Retry-After'] = '%d' % exc.wait
if isinstance(exc.detail, (list, dict)):
data = exc.detail
else:
data = {'detail': exc.detail}
set_rollback()
return Response(data, status=exc.status_code, headers=headers)
return None
views의 한 부분인데 이 때 isinstance가 무엇인 지 궁금하게 되었다.
찾아보니 별 거 없었고 해당 인스턴스가 이러한 타입이 맞는 지 확인하는 메소드 였다.
반응형
'파이썬' 카테고리의 다른 글
[python] [path] [PYTHONHOME] [PYTHONPATH] 파이썬 경로 문제 해결 (0) | 2021.08.18 |
---|---|
[python] assert 문 처리 (0) | 2021.08.04 |
[python] @property (0) | 2021.08.04 |
셀레늄 파이썬 카카오스토리 로그인 (0) | 2021.07.07 |
Python getattr/setattr/hasattr 사용법 (0) | 2021.06.24 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker-compose
- docker
- Linux
- Celery
- postgres
- 알고리즘
- django
- 그래프
- 2021 KAKAO BLIND RECRUITMENT
- PostgreSQL
- headers
- 면접
- BFS
- setattr
- 카카오
- Pattern
- Java
- ubuntu
- 파이썬
- 프로그래머스
- thread
- Spring
- Collections
- 자바
- 백준
- DRF
- dockerignore
- Command Line
- env
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함