본문 바로가기
728x90

Back-End Developer/DRF 설명서 개념 때려잡기10

DRF 설명서 개념 때려잡기 : 예외 처리 5.10 예외 처리 Django Rest Framework(DRF)에서의 예외 처리는 API의 안정성과 사용자 경험(UX)을 향상시키는 중요한 부분입니다. DRF는 기본적으로 몇 가지 예외 클래스를 제공하며, 이들을 통해 다양한 HTTP 상태 코드와 함께 오류를 관리할 수 있습니다. 예외 처리를 잘 구현함으로써 API 사용자에게 명확하고 유용한 오류 메시지를 제공할 수 있습니다. DRF에서의 예외 처리 메커니즘 DRF의 예외 처리 시스템은 주로 APIException 클래스를 기반으로 합니다. APIException과 그 하위 클래스들은 다양한 종류의 HTTP 상태 코드를 표현합니다. 주요 예외 클래스로는 다음과 같은 것들이 있습니다. NotFound: 404 Not Found 요청된 리소스가 서버에 존.. 2024. 4. 1.
DRF 설명서 개념 때려잡기 : 페이징 및 필터링 5.9 페이징 및 필터링 Django Rest Framework(DRF)에서 페이징과 필터링은 대량의 데이터를 효율적으로 관리하고 제공하는 데 중요한 역할을 합니다. 페이징은 데이터를 페이지로 분할하여 제공하며, 필터링은 특정 조건을 기반으로 데이터를 제한합니다. 페이지네이션의 구현 페이지네이션은 대량의 데이터를 여러 페이지로 분할하여 제공하는 기능입니다. DRF는 여러 가지 페이지네이션 스타일을 제공하며, 커스텀 페이지네이터를 작성할 수도 있습니다. 기본 페이지네이션 설정 # settings.py 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 위 설정에서 PageNumberPagination 클래스를 사용하여 .. 2024. 3. 31.
DRF 설명서 개념 때려잡기 : 인증과 권한 5.8 인증과 권한 Django Rest Framework(DRF) 내의 인증과 권한은 보안의 핵심 구성요소로 작용합니다. 인증은 사용자의 신원을 확인하는 단계이며, 권한은 인증된 사용자가 실행할 수 있는 동작을 결정합니다. DRF의 인증 방법: DRF는 여러 인증 방법을 제공합니다. 몇몇 주요 인증 방법은 아래와 같습니다. 기본 인증(Basic Authentication): 기본 인증은 사용자 이름과 비밀번호를 이용해 사용자를 인증합니다. 토큰 인증(Token Authentication): 토큰 인증은 사용자에게 고유한 토큰을 제공하고, 이 토큰으로 사용자를 인증합니다. 세션 인증(Session Authentication): 세션 인증은 Django의 세션 프레임워크를 활용해 사용자를 인증합니다. OA.. 2024. 3. 29.
DRF 설명서 개념 때려잡기 : 믹스인(Mixins) 5.7 믹스인(Mixins) 믹스인(Mixins)은 Django Rest Framework(DRF)에서 제공하는 기능으로, View의 특정 동작을 재사용 가능한 방식으로 구성하는 데 사용됩니다. 믹스인은 클래스 기반 View(Class-Based Views, CBV)의 기능을 확장하고 커스터마이징하는 데 매우 유용합니다. 기본 CRUD 믹스인의 활용 DRF는 기본적으로 CRUD(Create, Read, Update, Delete) 작업을 수행하기 위한 믹스인을 제공합니다. 이러한 믹스인은 제네릭 View와 함께 사용되어, 각각의 CRUD 작업을 수행하는 View를 빠르게 생성할 수 있게 해줍니다. **#views.py** from rest_framework import mixins, generics fr.. 2024. 3. 27.
DRF 설명서 개념 따라잡기 : DRF View와 ViewSet 5.6 DRF View와 ViewSet API 엔드포인트 API 엔드포인트는 API가 클라이언트와 상호작용할 수 있도록 노출하는 특정한 URL 또는 URI입니다. 예를 들어, 사용자 프로필을 관리하는 가상의 API에서 다음과 같은 API 엔드포인트가 있을 수 있습니다 - GET /api/users: 모든 사용자 프로필의 목록을 검색합니다. - GET /api/users/{id}:특정 사용자 프로필을 ID로 검색합니다. - POST /api/users: 새로운 사용자 프로필을 생성합니다. - PUT /api/users/{id}:특정 사용자 프로필을 ID로 업데이트합니다. - DELETE /api/users/{id}:특정 사용자 프로필을 ID로 삭제합니다. 기본 DRF View를 상속받아 필요한 메서드를 오.. 2024. 3. 25.
DRF 설명서 개념 때려잡기 : CBV(Class-Based Views) 클래스 기반 Views (CBV) 5.5 클래스 기반 Views (CBV) 클래스 기반 View(Class-Based Views, CBV)는 Django와 Django Rest Framework(DRF)에서 View를 정의하는 또 다른 방법입니다. CBV는 View를 클래스로 정의하며, View의 동작을 메서드로 구현합니다. 이 방식은 코드의 재사용성과 조직을 향상시키며, 복잡한 View 로직을 더 쉽게 관리할 수 있게 해줍니다. APIView 클래스의 활용 APIView는 CBV의 확장이자 DRF의 기본 View 클래스로, HTTP 메서드를 클래스의 메서드로 매핑하고, 요청 객체와 응답 객체를 DRF의 버전으로 확장합니다. APIView 클래스는 일반 View 클래스와 다음과 같은 차이점을 가집니다. 특징 Class Based View.. 2024. 3. 23.
DRF 설명서 개념 때려잡기: 함수 기반 Views(FBV) 함수 기반 View(Function-Based Views, FBV)는 Django의 간단하고 직관적인 방법으로 View를 정의할 수 있게 해줍니다. Django Rest Framework(DRF)는 이를 확장하기 위해 @api_view 데코레이터를 제공하여, 개발자가 특정 HTTP 메서드에 대한 요청만 처리할 수 있게 하고, 더욱 강화된 요청 및 응답 객체를 제공합니다. #views.py from rest_framework.decorators import api_view from rest_framework.response import Response from rest_framework import status @api_view(['GET', 'POST']) def Animal(request): # GET.. 2024. 3. 22.
DRF 설명서 개념따라잡기 : FBV와 CBV: 언제 어떤 것을 사용해야 할까? API 개발을 위한 View 구현체를 제공하는 대표적인 라이브러리는 Django REST Framework와 장고 닌자입니다. DRF는 클래스 기반 View(CBV) 구현체에 특화된 라이브러리이고, 장고 닌자는 함수 기반 View(CBV) 구현체에 특화된 라이브러리입니다. 비교적 오랜 기간 개발되어온 DRF는 함수 기반 View 기능이 상대적으로 빈약합니다. 클래스 기반 View를 사용할 때 DRF의 기능을 더 잘 활용할 수가 있습니다. 다시한 번 정리하면, DRF는 클래스 기반 View로 백엔드 서버를 개발할 때 유용하며, 장고 닌자는 함수 기반 View로 하는 백엔드 서버를 개발할 때 유용하다는 점을 인지해주시면 됩니다. 그러나, 개발을 진행함에 있어 좀 더 유용한 방법이 있을 뿐 DRF도 함수 기반.. 2024. 3. 15.
DRF 설명서 개념 때려잡기 : API View와 Generic View API View API View와 Generic View는 Django Rest Framework (DRF)에서 제공하는 두 가지 주요 View 클래스 유형입니다. 이 두 View클래스는 API를 구축할 때 중요한 역할을 수행하며, 각각의 목적과 활용도에 따라 선택됩니다. 이들의 구조와 기능을 비교하여 자세히 알아보겠습니다. 기본 구조 APIView는 DRF의 기본적인 View 클래스로, Django의 기본 View 클래스를 확장하고 REST 프레임워크의 기능을 추가하여 제공합니다. 이는 기본적인 HTTP 메서드 처리와 요청/응답 객체의 사용, 인증 및 권한 처리와 같은 기능을 개발자에게 제공합니다. HTTP 메서드 처리 APIView는 HTTP 메서드(GET, POST, PUT, DELETE 등) 처리.. 2024. 3. 2.
DRF 설명서 개념 때려잡기 : DRF View의 이해 장고의 View 계층은 MTV 아키텍쳐 개발에 적합한 View 구현체를 제공합니다. 그러나 API 기반의 백엔드 웹 서버를 개발할 때는 이런 구현체가 크게 활용되지 않습니다. 개발 트렌드가 MTV 아키텍처를 선호하지 않게 되면서 장고는 API 개발에 필요한 View 구현체를 제공하는 대신 웹 프레임워크가 가져야하는 내부 코어 모듈 개발에 집중했습니다. API 개발을 위한 Viewv 구현체는 다른 장고 라이브러리에 위임했습니다. 클래스 기반 View 개발에 집중한 라이브러리가 지금 독자들이 공부중인 DRF이고, 함수 기반 View 개발에 집중한 것이 장고 닌자입니다. 이번 장에서 여러분들은 바로 이 DRF의 클래스 기반 View에 대해 좀 더 자세히 공부하게 될 것입니다. 5.1 DRF View의 이해 기.. 2024. 2. 28.
728x90