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

정중한 앵무새님의 프로필 이미지

작성한 질문수

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

장고 기본 CBV API (Generic display views) (1)

장고 기본 CBV API (Generic display views) (1) 클래스 구현 관련 질문

21.12.04 12:50 작성

·

142

0

강사님 클래스에서 def __init__은 안만드나요?

model = none

queryset = none이 아니라

def __init__(

self,

model: str = None,

)

self._model = model

이렇게 클래스 변수 설정하지 않나요?

답변 1

1

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

2021. 12. 04. 21:19

안녕하세요.

클래스에 대한 생성자 구현이 필요하면 __init__ 함수를 구현하게 됩니다. 장고의 CBV (Class Based View)의 부모는 View 클래스인데요. View 클래스에 이미 __init__ 함수가 구현되어있습니다.

django/base.py at 3.2.9 · django/django · GitHub

대개의 CBV에서는 우리가 생성자를 직접 구현할 일이 대개 없습니다. 그래서 __init__를 구현하지 않았습니다.

직접 오리지널 클래스를 만드셨을 때에는 대개 생성자를 바로 구현하시게 되겠죠. :-)

정중한 앵무새님의 프로필 이미지

2021. 12. 05. 21:28

설명 정말 감사드립니다!