인프런 커뮤니티 질문&답변

조윤식님의 프로필 이미지

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

장고 기본 CBV API (Generic editing views)

PostCreateView 클래스의 get_success_url

작성

·

200

0

강사님 PostCreateView 클래스에 get_success_url 함수로 경로 따로 설정해주지 않아도 디테일뷰로 넘어가는건 왜일까요?

답변 1

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

CreateView에서는 다음 3가지 방법으로 저장 후에 이동할 주소를 지정할 수 있습니다.

  1. success_url 값을 지정해주거나

  2. get_success_url 메서드를 재정의해주거나

  3. 해당 모델 클래스에 get_absolute_url 메서드를 구현해주거나.

관련 코드 : https://github.com/django/django/blob/3.0.14/django/views/generic/edit.py#L110

위 3가지 방법 외에는 아래에서 보시듯이 No URL to redirect to. ImproperlyConfigured 예외가 발생합니다.

image

코드를 다시 확인해보세요. 이동 시키는 코드가 있을 것입니다. 혹은 생각하신 View가 아닌 다른 View를 통해 해당 요청이 처리되고 있을 수도 있습니다.

django-debug-toolbar를 쓰시면, 현재 어떤 View를 통해서 요청이 처리되고 있는 지 확인하실 수 있습니다. GET 요청으로 Form을 띄울 때 django-debug-toolbar로 확인해보세요.

잘 찾기 어려우시면, 현재 전체 프로젝트 코드를 공유해주시면, 확인해보겠습니다.

화이팅입니다. :-)