inflearn logo
강의

Course

Instructor

Django REST Framework Essentials

Nested Serializer

CateTagAPIView에서 get 메소드

309

lsmseokminjjang0827

4 asked

1

안녕하세요! 강의 중에 CateTagAPIView안에 get을 정의 하셨는데 이 get은 오버라이딩인가요? APIView에 가서 찾아봤는데 get 메소드가 없어서,,

CateTagAPIView에서 정의한 get 메소드가 어떻게 실행(?) 되는건지 궁금합니다.

rest-api django

Answer 2

2

bestdjango

안녕하세요. 독자님.

오버라이딩이 맞습니다. 상위 APIView 에서 간접적으로 get() 메소드가 정의되어서 잘 안보이는 것입니다. dispatch() 메소드의 아래 부분을 살펴 보기 바랍니다.

def dispatch(self, request, *args, **kwargs):
    ...
            if request.method.lower() in self.http_method_names:
                handler = getattr(self, request.method.lower(),
                                  self.http_method_not_allowed)
            else:
                handler = self.http_method_not_allowed

위 코드에서 handler 변수가 get 메소드를 의미 합니다.

request.method 가 "GET" 이나 "POST" 문자열인데, ~.lower() 에 의해, GET 요청이 오면 get 메소드가, POST 요청이 오면 post 메소드가 handler 변수에 대입됩니다.

도움이 되었기를 바랍니다.

 

 

0

lsmseokminjjang0827

아 dispatch에 있었군요!

답변 감사합니다!

블로그 첫 화면이 안 나옵니다.

0

317

3

INSTALLED_APPS 순서

0

246

1

vscode 실행안됨

0

667

3

django venv activate 하고 나서 vue 서버도 실행 해야 하나요?

0

367

2

더 공부할게있을까요

0

369

1

용어에 대해 문의 드립니다.

0

283

2

like 기능을 위한 overriding 문의

0

322

1

코드 최적화 과정

0

364

1

유저 1명이 1개의 게시글에 좋아요를 누를 경우

0

356

1

프로잭트를 생성하고 runserver하면 ModuleNotFoundError: No module named 발생해요

0

894

4

GET Method 에서 왜 Like 수를 증가시키는지 궁금합니다.

0

376

1

CSRF Token에 대한 질문입니다.

0

609

1

ModuleNotFoundError: No module named 'rest_framework django' 오류

0

3037

1

앱을 구성할 때 api 앱과 blog 앱을 나누어서 구성하는 이유가 궁금합니다ㅜ

1

472

2

to_representation() 오버라이딩 질문입니다.

0

496

3

공부 순서에 관해 질문드립니다.

0

360

1

깃헙 페이지를 보고싶어요

0

230

1

디버거 관련 질문입니다.

0

277

3

가장 마지막강의 (Generic View -> ViewSet migration) 질문입니다.

0

223

1

PostCommentListAPIView(게시물 댓글 조회 api) 관련 질문

0

211

1

댓글 보기 및 삭제 api

0

280

1

post, comment crud 질문

0

228

4

CateTagSerializer 질문입니다!

3

336

3

The serializer field might be named incorrectly and not match any attribute or key on the `User` instance.

0

840

1