inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

DetailVeiw 및 ListView.as_view() 파라미터 설정에 대한 질문

336

jamjameun

작성한 질문수 2

1

DetailVIew 및 ListView 에서

as_view() 할때

model, template_name_field, template_name 등등 상속으로 받은 클래스 변수를 초기화 해줍니다.

여기서 질문은

제가 클래스를 만들어 위 내용에 동일한 클래스 변수 생성하여 다중 상속하고 classmethod를 선언하여 메소드에 상속 된 변수를 선언할려고 하는데

코어에 as_view() 처럼 무엇이 상속되었는지 표시가 나오지 않습니다.
해당 내용에 대한 해결 방법에 대해 질문드립니다.

아래 내용은 스크린샷 입니다.

코어에서 as_view()

스크린샷 2022-12-01 오후 2.34.21.png

제가 만든 함수

스크린샷 2022-12-01 오후 2.35.05.png

 

 

django docker python react

답변 2

1

이진석

안녕하세요.

"클래스 기반 뷰"의 as_view는 단순히 클래스 함수입니다.

클래스에 클래스 변수로서 정의된 model, template_name 이 있다고 한다면,

as_view는 키워드 인자로 받은 값들을

위 클래스 변수와 같은 이름의 인스턴스 변수를 선언할 수 있도록 도와주는 역할입니다.

as_view 구현을 보시면

@classonlymethod
def as_view(cls, **initkwargs):
...

as_view 함수만 본다면 unpack 방법으로 키워드 인자를 다수 받을 뿐, model, template_name 과 연결되는 포인트가 없습니다.

DetailView에서 as_view에 대한 키워드 추천은 파이참 내부에서 DetailView에 대한 처리를 직접 해주지 않았을까하는 추측을 하고 있습니다.

그러니, 직접 정의한 클래스에 대해서는 그런 자동완성 부분이 안 되는 듯 싶습니다. 파이썬도 type hinting이 좀 더 자리잡으면, 이런 부분에 대한 자동완성 기능도 보다 견고해지지 않을까 싶습니다.

클래스의 상속관계는 해당 클래스명에 마우스 커서를 두시고 우클릭하시면, Diagrams 메뉴가 있습니다. 그 아래에 Show Diagram -> Python Class Diagram 메뉴를 선택하시면, 상속관계를 보여줍니다.

그리고, 파이참 좌측에 Structure 창을 여시면, 선언하신 클래스의 상속내역을 포함한 각종 클래스/인스턴스 메서드와 클래스 변수 목록을 확인하실 수 있습니다.

화이팅입니다. :-)

0

jamjameun

확인감사합니다!

안녕하세요.

0

48

1

[OneToOne Field Demo] get_user_model() 메서드를 활용해야 하는 이유?

0

272

1

useEffect 훅에서 else 유무에 따른 결과

0

211

1

useAxios 훅의 dependency array 설정

0

245

1

useEffect에서 변수 업데이트 관련 질문

0

381

1

rest_framework.generics.CreateAPIView의 model 속성 유무

0

266

1

bootstrap4

0

470

4

리뉴얼 강의가 오픈이 되면 기존 강의는 더이상 못보는걸까요

1

362

1

admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법

0

572

3

useState는 필수일까요?

0

261

1

python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.

0

596

4

Django allauth를 사용한 소셜 로그인 시 에러

0

654

1

프로젝트명 변경 뒤, 디버그툴바+디버그모드 사용 시 에러

0

552

2

useLocalStorage() 함수 사용여부

0

228

1

django에 LOGIN_URL = '/accounts/login/'의 의미?

0

447

1

리듀서의 의미 재확인

0

430

1

simple-jwt Refresh Token 사용 노하우

0

897

2

docker compose 를 통한 배포 관련 오류 문의

0

670

1

파이썬 속도 장고 관련 궁금한게 있습니다.

0

364

1

is_like_user

0

233

1

related_name 오류

0

272

1

re_path 오류

0

258

1

re_path url

0

249

1

No post matches the given query

0

659

2