본문 바로가기
728x90

Django6

DRF 설명서 개념 때려잡기 : 페이징 및 필터링 5.9 페이징 및 필터링 Django Rest Framework(DRF)에서 페이징과 필터링은 대량의 데이터를 효율적으로 관리하고 제공하는 데 중요한 역할을 합니다. 페이징은 데이터를 페이지로 분할하여 제공하며, 필터링은 특정 조건을 기반으로 데이터를 제한합니다. 페이지네이션의 구현 페이지네이션은 대량의 데이터를 여러 페이지로 분할하여 제공하는 기능입니다. DRF는 여러 가지 페이지네이션 스타일을 제공하며, 커스텀 페이지네이터를 작성할 수도 있습니다. 기본 페이지네이션 설정 # settings.py 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 위 설정에서 PageNumberPagination 클래스를 사용하여 .. 2024. 3. 31.
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 설명서 개념 때려잡기 : DRF View의 이해 장고의 View 계층은 MTV 아키텍쳐 개발에 적합한 View 구현체를 제공합니다. 그러나 API 기반의 백엔드 웹 서버를 개발할 때는 이런 구현체가 크게 활용되지 않습니다. 개발 트렌드가 MTV 아키텍처를 선호하지 않게 되면서 장고는 API 개발에 필요한 View 구현체를 제공하는 대신 웹 프레임워크가 가져야하는 내부 코어 모듈 개발에 집중했습니다. API 개발을 위한 Viewv 구현체는 다른 장고 라이브러리에 위임했습니다. 클래스 기반 View 개발에 집중한 라이브러리가 지금 독자들이 공부중인 DRF이고, 함수 기반 View 개발에 집중한 것이 장고 닌자입니다. 이번 장에서 여러분들은 바로 이 DRF의 클래스 기반 View에 대해 좀 더 자세히 공부하게 될 것입니다. 5.1 DRF View의 이해 기.. 2024. 2. 28.
Django로 CRUD 기능 구현 방법 웹의 CRUD 기능 구현하기 1. 환경 설정 먼저, 필요한 패키지를 설치합니다. pip install django 2. 프로젝트 및 앱 생성 django-admin startproject myproject cd myproject python manage.py startapp blog 3. Model 정의 (models.py) 블로그 글에 필요한 모델을 생성합니다. from django.db import models class Post(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) updated_at = mo.. 2023. 12. 30.
728x90