작성
·
226
·
수정됨
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드리겠습니다.
Django의 CreateView
에서 model
과 form_class
는 클래스를 참조하기 위한 것이기 때문에 괄호가 필요하지 않습니다. 괄호를 붙이면 해당 클래스의 인스턴스를 생성하게 되는데, CreateView
에서는 인스턴스를 생성하는 것이 아니라 클래스 자체의 정보를 사용하여 내부적으로 폼 인스턴스를 생성하고 관리합니다. 따라서 User
클래스와 UserCreationForm
클래스를 그대로 참조하려는 용도로 사용되기 때문에 괄호 없이 선언하는 것이 맞습니다.
User
와 UserCreationForm
을 괄호 없이 사용하는 것은 클래스를 직접 참조하며, 이는 CreateView
내부 로직에서 객체를 생성하고 관리하는 방식에 부합합니다. 예를 들어, CreateView
는 주어진 form_class
를 이용하여 폼의 인스턴스를 생성하고 유효성 검사를 수행한 뒤, 데이터를 저장할 때 model
에서 정의된 클래스로 새로운 데이터 객체를 생성하게 됩니다.