DRF 테스트 코드의 목적은 API의 품질을 향상시키는 것입니다.테스트 코드를 작성하면 API의 동작을 검증하고 예상하지 못한 버그를 발견할 수 있습니다.또한, 테스트 코드를 작성함으로써 개발자는 코드를 더욱 견고하게 작성하고, 유지보수를 쉽게 할 수 있습니다.DRF에
DRF(Django REST Framework)는 Django 기반의 웹 애플리케이션에서 RESTful API를 쉽게 개발하고 관리하기 위해 사용되는 오픈 소스 프레임워크이다.DRF를 사용하는 이유는 다음과 같다.빠른 API 개발: DRF는 Django의 강력한 기능과
Django에서는 기본적으로 User 모델을 제공해서 간단한 인증 시스템에 적합한 기능을 제공한다.그러나 Django REST Framework (DRF)을 사용하여 API를 개발할 때, 기본 User 모델로는 API 요청에 맞는 커스터마이징이 어려울 수 있다. 이에
a: 문자 "a"와 정확히 일치.abc: 문자 "a", "b", "c" 중 하나와 일치.^abc: 문자 "a", "b", "c" 이외의 문자와 일치..: 어떤 문자와 일치. (줄바꿈 문자 제외)^: 문자열의 시작을 나타냄.$: 문자열의 끝을 나타냄.\\b: 단어 경계를
장고 프로젝트를 진행하다 보면, github와 같은 형상 관리 툴에 노출되어서는 안되는 값들이 존재한다.예를 들어 aws 계정 관련 값, 장고 secret key, DB 정보 등등 이러한 것들을 .env 파일을 이용해 관리하기 쉽게 해주는 모듈이 django-envir
장고에서 기본적으로 세팅되어 있는 BASE_DIRos.path 모듈을 사용하여 \_\_file\_\_ 변수의 절대 경로를 가져온 다음, dirname() 함수를 두 번 호출하여 해당 경로의 부모 디렉토리를 가져온다. 여기서 \_\_file\_\_ 현재 파일의 상대 경로
장고는 기본적으로 Lazy-loading 이기 때문에, 당장 해당 쿼리셋을 사용하지 않으면 쿼리문을 호출하지 않는다.사용자는 해당 쿼리셋을 불러온줄 알고 객체에 쿼리셋을 저장한 후, 재사용을 하지만, foreign key로 이어져 있는 모델을 부를 때 해당 데이터의 수
drf에서 제공해주는 cursor pagination을 사용하기에 앞서 커서라는 개념부터 알고가야 한다.커서 (Cursor)는 컴퓨터로 문서를 작성해 본 사람이라면 누구나 알고 있는 용어이다. 화면에서 현재 사용자의 위치를 나타내며 깜빡거리는 막대기가 바로 커서이다.데
DB 서버 설정 방화벽 해제 systemctl stop firewalld systemctl disable firewalld setenforce 0 mysql 설치 및 초기 설정 yum -y install mysql-server systemctl restart my
유입되는 요청을 허용/거부하는 것을 결정하는 것이 아니라, 단순히 인증정보로 유저를 식별하는 것입니다.Authentication : 유저 식별Permissions : 각 요청에 대한 허용/거부Throttling : 일정 기간 동안에 허용할 최대 요청 횟수1\. 매 요청
.initial_data 필드에 접근할 수 있고.validated_data를 통해 유효성 검증에 통과한 값들이 .save() 시에 사용됩니다..errors à 유효성 검증 수행 후에 오류 내역.data à 유효성 검증 후에, 갱신된 인스턴스에 대한 필드값 사전.upda
QuerySet/Model객체 -> Native Python 데이터타입, JSON/XML 등Serializer는 뷰 응답을 생성하는 데에 범용적이고 강력한 방법을 제공ModelSerializer는 Serializer 생성을 위한 ShortcutHTML 입력폼을 통한 입
같은 Endpoint에서 요청받은 타입에 맞춰, 다양한 응답포맷을 지원Content-Type, URL의 방법을 통해 Renderer 지정 가능media_type -> application/json, format à jsonmedia_type -> text/html, f
list/create/detail/update/partial_update/delete 등의 멤버 함수로 구현보통 list/create을 위한 하나의 URLdetail/update/partial_update_delete를 위한 하나의 URL총 2개의 URL이 필요하다.최
실제로 직접적으로 사용되는것이 아닌, 다른 클래스에 의해 상속이 이루어질때 사용이 되는 모듈들을 의미있는 단어로 구현해 놓은 것이다.List -> get/postDetail -> get/(put이나 patch)/ delete총 5개의 메소드가 위의 mixin들에 매칭이
screen은 리눅스 가상 터미널로 터미널을 물리적으로 다중화하여, 백그라운드에서 터미널을 실행할 수 있는 프로그램이라고 한다.screen을 사용해서 터미널을 꺼도 runserver가 구동되게 하자!우선 screen을 설치한다.만약 위의 명령어가 안되면 sudo를 빼고
우리는 백엔드와 프론트엔드를 항상 localhost에서 열었었다.하지만 이제 우리는 허용한 포트를 이용해 부여받은 탄력적 ip 주소로 서버를 구동할 것이다.필자는 프론트 엔드 측에 backend의 탄력적 ip 주소를 따로 config.js 파일로 관리를 하였다.axio
검색창에 route 53을 검색해서 위의 그림처럼 나오는 Route 53을 클릭하자.호스팅 영역을 생성해준다.누르게 되면 위의 그림처럼 뜨게 되는데, 쓰고 싶은 도메인 이름을 써주고 나머지는 건들지말고 호스팅 영역 생성 버튼을 눌러주자.그렇다면 이렇게 뜨게 되는데,
EC2 인스턴스 생성 왼쪽 사이드바에 위의 그림처럼 나올것이다.탄력적 IP라고 쓰여져 있는 것을 클릭하자.그 후, 오른쪽 위에 있는 탄력적 IP 주소 할당 버튼을 눌러준다.디폴트 값으로 할당을 해주고 다시 왼쪽 사이드바에 탄력적 IP를 클릭해준다.그렇다면 위 그림처럼
일단 회원가입을 하고 로그인을 한 후, 맨 위 오른쪽에 지역을 서울로 바꿔주도록 하자.인스턴스 시작 클릭이런 화면이 뜨는데, 이름은 아무렇게나 지어주면 된다.예를 들면 backend 서버를 돌리고 싶은 인스턴스라면 backend라고 지어주자.그리고 더 많은 AMI 찾아