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




