inflearn

    [Django] HTTP 상태코드 응답

    대표적인 상태 코드 코드 설명 200번대 성공 200 서버가 요청을 잘 처리했다. 201 작성완료. 서버가 요청을 접수하고, 새 리소스를 작성했다. 300번대 추가 조치가 필요하다. 301 영구 이동, 요청한 페이지가 새 위치로 영구적으로 이동했다. 302 임시 이동, 페이지가 현재 다른 위치에서 요청에 응답하고 있지만, 요청자는 향후 원래 위치를 계속 사용해야한다. 400번대 클라이언트 오류 400 잘못된 요청 401 권한없음 403 (Forbidden) 권한을 갖고 있지않아서 요청이 거부됨 404 서버에서 요청한 리소스를 찾을 수 없음 405 허용되지 않는 방법. POST 방식만을 지원하는 뷰에 GET 요청을 한 경우 500번대 서버 오류 500 서버 내부 오류 발생 200 응답 예 from djan..

    [Django] ForeignKey

    1:N 관계 models.ForeignKey로 표현한다. N측에 명시한다. (Post : Comment이면, Comment에 명시) ForeignKey(to, on_delete) to : 대상모델 클래스를 직접 지정하거나, 클래스명을 문자열로 지정한다. (자기 참조는 self) on_delete : Record 삭제시 규칙 CASCADE : FK로 참조하는 다른 모델의 Record도 삭제 PROJECT : ProtectedError (IntegrityError 상속)을 발생시키며, 삭제 방지 SET_NULL : Record가 삭제되었을시 null로 대체한다. 필드에 null=True 옵션 필수. SET_DEFAULT : 디폴트 값으로 대체한다. 필드에 디폴트 값 지정 필수. SET : 대체할 값이나 함수..

    [Django] django-debug-toolbar 사용하기

    [Django] django-debug-toolbar 사용하기

    공식문서 django-debug-toolbar의 특징 현재 request/response에 대한 다양한 디버깅 정보를 보여준다. 다양한 Panel을 지원한다. SQLPanel을 통해, 각 요청 처리 시에 발생한 SQL 내역 확인 가능하다. Ajax 요청에 대한 지원은 불가능하다. 설치 및 실행 1. 설치 $ pip install django-debug-toolbar 2. settings.py 추가 INSTALLED_APPS = [ ... 'debug_toolbar', ... ] ... MIDDLEWEAR = [ ... 'debug_toolbar.middleware.DebugToolbarMiddleware', ... ] ... INTERNAL_IPS = ['127.0.0.1'] 3. (project)url..

    [Django] django extensions shell_plus 사용하기

    공식문서 extension shell_plus의 특징 장고 ORM이 어떻게 동작하는지 알아 볼 수 있다. 필요한 몇몇 기능들을 자동으로 import를 해준다. (주의사항)import 이름이 겹쳐버리면 overwirte 되어버린다. shell에서 직접 정렬하면 모델 Meta에 지정한 것이 무시가 된다. 설치 및 실행 1. django extensions 설치 $ pip install django-extensions 2. settings.py에 추가. INSTALLED_APPS = [ ... 'django_extensions', ... ] 3. 실행 $ python manage.py shell_plus --print-sql 실행하면 자동으로 import 해준다. # Shell Plus Model Import..