앱 등의 유저가 사용하는 UI는 유저가 원할 때 업데이트가 된다.유저층이 사용하는 앱의 버전이 다양하기에, API에도 버전 개념을 둔다. ex) /api/v1/posts/ ex) /api/v2/posts/ 그에 반해, 웹 서비스를 이용하는 유저는 항상 최신버전을
새 포스팅 내용을 받아 등록하고, 확인 응답 → /post/new/ 주소로 POST 요청포스팅 목록 및 검색 응답 → /post/ 주소로 GET 요청10번 포스팅 내용 응답 → /post/10/ 주소로 GET 요청10번 포스팅 내용 갱신하고, 확인 응답 → /post/
송신자 : 객체를 문자열로 변환하여, 데이터 전송 → 직렬화수신자 : 수신한 문자열을 다시 객체로 변환하여, 활용 → 비직렬화보통의 웹 세상에서는 …GET 요청에 대해 HTML 포맷으로 응답POST 요청을 application/x-www-form-urlencoded 인
위의 코드는 DRF의 기능을 거의 쓰지 않은 것임renderer_classes : 직렬화 class 다수parser_classes : 비직렬화 class 다수authentication_classes : 인증 class 다수throttle_classes : 사용량 제한
APIView : 클래스 기반 뷰@api_view : 함수 기반 뷰를 위한 장식자apiviews를 활용한 뷰 만들기 7분2초
실제로 직접적으로 사용되는것이 아닌, 다른 클래스에 의해 상속이 이루어질때 사용이 되는 모듈들을 의미있는 단어로 구현해 놓은 것이다.List -> get/postDetail -> get/(put이나 patch)/ delete총 5개의 메소드가 위의 mixin들에 매칭이
list/create/detail/update/partial_update/delete 등의 멤버 함수로 구현보통 list/create을 위한 하나의 URLdetail/update/partial_update_delete를 위한 하나의 URL총 2개의 URL이 필요하다.최
같은 Endpoint에서 요청받은 타입에 맞춰, 다양한 응답포맷을 지원Content-Type, URL의 방법을 통해 Renderer 지정 가능media_type -> application/json, format à jsonmedia_type -> text/html, f
QuerySet/Model객체 -> Native Python 데이터타입, JSON/XML 등Serializer는 뷰 응답을 생성하는 데에 범용적이고 강력한 방법을 제공ModelSerializer는 Serializer 생성을 위한 ShortcutHTML 입력폼을 통한 입
.initial_data 필드에 접근할 수 있고.validated_data를 통해 유효성 검증에 통과한 값들이 .save() 시에 사용됩니다..errors à 유효성 검증 수행 후에 오류 내역.data à 유효성 검증 후에, 갱신된 인스턴스에 대한 필드값 사전.upda
유입되는 요청을 허용/거부하는 것을 결정하는 것이 아니라, 단순히 인증정보로 유저를 식별하는 것입니다.Authentication : 유저 식별Permissions : 각 요청에 대한 허용/거부Throttling : 일정 기간 동안에 허용할 최대 요청 횟수1\. 매 요청
drf에서 제공해주는 cursor pagination을 사용하기에 앞서 커서라는 개념부터 알고가야 한다.커서 (Cursor)는 컴퓨터로 문서를 작성해 본 사람이라면 누구나 알고 있는 용어이다. 화면에서 현재 사용자의 위치를 나타내며 깜빡거리는 막대기가 바로 커서이다.데
장고는 기본적으로 Lazy-loading 이기 때문에, 당장 해당 쿼리셋을 사용하지 않으면 쿼리문을 호출하지 않는다.사용자는 해당 쿼리셋을 불러온줄 알고 객체에 쿼리셋을 저장한 후, 재사용을 하지만, foreign key로 이어져 있는 모델을 부를 때 해당 데이터의 수
장고에서 기본적으로 세팅되어 있는 BASE_DIRos.path 모듈을 사용하여 \_\_file\_\_ 변수의 절대 경로를 가져온 다음, dirname() 함수를 두 번 호출하여 해당 경로의 부모 디렉토리를 가져온다. 여기서 \_\_file\_\_ 현재 파일의 상대 경로
장고 프로젝트를 진행하다 보면, github와 같은 형상 관리 툴에 노출되어서는 안되는 값들이 존재한다.예를 들어 aws 계정 관련 값, 장고 secret key, DB 정보 등등 이러한 것들을 .env 파일을 이용해 관리하기 쉽게 해주는 모듈이 django-envir
a: 문자 "a"와 정확히 일치.abc: 문자 "a", "b", "c" 중 하나와 일치.^abc: 문자 "a", "b", "c" 이외의 문자와 일치..: 어떤 문자와 일치. (줄바꿈 문자 제외)^: 문자열의 시작을 나타냄.$: 문자열의 끝을 나타냄.\\b: 단어 경계를
Django에서는 기본적으로 User 모델을 제공해서 간단한 인증 시스템에 적합한 기능을 제공한다.그러나 Django REST Framework (DRF)을 사용하여 API를 개발할 때, 기본 User 모델로는 API 요청에 맞는 커스터마이징이 어려울 수 있다. 이에
DRF(Django REST Framework)는 Django 기반의 웹 애플리케이션에서 RESTful API를 쉽게 개발하고 관리하기 위해 사용되는 오픈 소스 프레임워크이다.DRF를 사용하는 이유는 다음과 같다.빠른 API 개발: DRF는 Django의 강력한 기능과
DRF 테스트 코드의 목적은 API의 품질을 향상시키는 것입니다.테스트 코드를 작성하면 API의 동작을 검증하고 예상하지 못한 버그를 발견할 수 있습니다.또한, 테스트 코드를 작성함으로써 개발자는 코드를 더욱 견고하게 작성하고, 유지보수를 쉽게 할 수 있습니다.DRF에