본문 바로가기

API18

6. Routers Routers 리소스 라우팅을 사용하면 지정된 리소스 저장 컨트롤러에 대한 모든 공통 경로를 신속하게 선언할 수 있습니다. 인덱스에 대해 별도의 경로를 선언하는 대신, 한줄의 코드로 이를 선언합니다. Rails와 같은 일부 웹 프레임워크는 수신 요청을 처리하는 로직에 응용 프로그램의 URL을 매핑하는 방법을 자동으로 결정하는 기능을 제공합니다. REST 프레임워크는 Django에 대한 자동 URL 라우팅 지원을 추가하며, view 로직을 URL 집합에 연결하는 간단하고 빠르고 일관된 방법을 제공합니다. Usage router를 사용하는 간단한 예제를 보겠습니다. from rest_framework import routers router = routers.SimpleRouter() router.regist.. 2021. 6. 28.
5. ViewSets 라우팅이 요청에 사용할 컨트롤러를 결정하면, 컨트롤러는 요청을 이해하고 적절한 출력을 생성할 책임이 있습니다. DRF를 사용하면 VeiwSet라고 하는 단일 클래스의 연관된 viewset에 대한 논리를 결합할 수 있습니다. 다른 프레임워크에서는 개념적으로 유사한 것으로는 'Resources' 또는 'Controllers'를 찾을 수도 있습니다. ViewSet 클래스는 단순히 .get() 또는 .post()와 같은 메서드 핸들러를 제공하지 않고 .list() 및 .create()과 같은 작업을 제공하는 클래스 기반 View의 한 유형입니다. ViewSet의 메서드 핸들러는 as_view() 메서드를 사용하여 View를 완료하는 시점에만 해당 작업에 바인딩 됩니다. 일반적으로, urlconf의 viewSet.. 2021. 6. 26.
4-2 Generic Views (Mixin,Concrete) Mixins mixin 클래스는 기본 view 동작을 제공하는 데 사용되는 작업을 제공합니다. 클래스의 Mixin은 .get() 및 .post()와 같은 핸들러 메서드를 직접 정의하는 대신 action 메서드를 제공합니다. 이것은 행동을 보다 유연하게 구성할 수 있게 해줍니다. minxin클래스는 rest_framework.mixins에서 import할 수 있습니다. ListModelMixin 쿼리셋을 list로 구현해주는 .list(request, *args, **kwargs)메서드를 제공합니다. 쿼리셋이 채워지면 쿼리셋의 serializer된 표현을 body의 response로 200 OK response를 반환합니다. response 데이터는 선택적으로 페이징될 수 있습니다. CreateModelM.. 2021. 6. 23.
4-1. Generic Views (GenericAPIView) Save and deletion hooks: django의 일반적인 views는 일반적인 사용패턴의 shortcut으로 개발되었습니다. view 개발에서 발견되는 특정 공통 idioms와 패턴을 추출하여 사용자가 반복할 필요없이 데이터의 공통된 view를 빠르게 작성할 수 있도록 합니다. CBV(Class Based views)의 주요 장점중 하나는 재사용 가능한 동작의 일부를 구성할 수 있는 방법입니다. DRF는 일반적으로 사용되는 패턴을 제공하는 여러개의 미리 작성된 views를 제공하여 이를 활용할 수 있습니다. DRF에서 제공하는 일반적인 views를 사용하면 데이터베이스 모델에 가깝게 매핑되는 API View를 빠르게 작성할 수 있습니다. 일반적인 view가 API의 요구 사항에 맞지 않는 경우.. 2021. 6. 7.
2. DRF-Response Response 기본 HTTPResponse개체와 달리 TemplateResponse 개체는 response을 계산하기 위해 View에서 제공한 컨텍스트의 세부 정보를 유지합니다. Response의 최종 출력은 필요할 때까지 계산되지 않으며 Response 프로세스 후반에 계산됩니다. DRF는 클라이언트 요청에 따라 여러 content-type으로 렌더링될 수 있는 content를 반환할 수 있는 Response 클래스를 제공하여 HTTP 콘텐츠 협상을 지원합니다. Response 클래스는 Django의 SimpleTemplateResponse를 Subclass화 합니다. Response 객체는 네이티브 파이썬 요소로 구성되어야 하는 데이터로 초기화 됩니다. Response클래스를 사용할 필요는 없고, .. 2021. 6. 5.
Django를 이용한 웹 API 만들기 샘플 데이터 베이스(Sakila) 데이터베이스 임포트하기 먼저 다음과 같은 사이트에 들어가서 sakila database라고 적혀 있는 줄의 zip파일을 내려받고 압축을 해제하겠습니다. 링크 : dev.mysql.com/doc/index-other.html MySQL :: Other MySQL Documentation Other MySQL Documentation This page provides additional documentation. There's even more available on these extra pages: MySQL Server Doxygen Documentation Title HTML Online MySQL Server (latest version) View Expert Gui.. 2020. 10. 26.