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

BH J님의 프로필 이미지
BH J

작성한 질문수

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

클래스 기반 뷰 시작하기

as_view 함수 부분 매개변수관련해서 질문있습니다!

작성

·

143

0

post_detail = DetailView.as_view(Post)

여기 부분에서 Post를 as_view의 model로 넣어준다음에 
내부에 있는 view함수를 호출후에 있는 매개변수들
request, *arg, **kwargs 여기에 매개변수들은

Post내부에서 쪼개지는건가요?
아니면 매개변수를 어떤식으로 받는건가요?

답변 1

0

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

안녕하세요.

이는 일급함수(first-class function) 기능을 파이썬에서 제공하고 있고 이를 활용한 코드입니다.

as_view 호출 시에 view 라는 이름의 함수가 동적으로 생성이 되고, 이 함수를 반환을 합니다.

post_detail = DetailView.as_view(Post) 코드가 수행이 되면 as_view 호출을 통해 동적으로 생성이 된 함수가 반환이 되고 post_detail 이름으로 할당이 됩니다. 이제 post_detail은 함수로서 (request, *args, **kwargs) 와 같은 형태로 인자를 처리할 수 있게 됩니다. post_detail 을 urlpatterns에 매핑하면 post_detail은 뷰 함수로서 동작을 하게 되는 것입니다.

살펴보시고 또 질문주세요. 화이팅입니다. :-)

BH J님의 프로필 이미지
BH J

작성한 질문수

질문하기