Django, DRF

· Django, DRF
DRF는 Django를 이용하여 API를 쉽게 만들 수 있도록 도와주는 프레임워크이다. 다른 프레임워크나 언어에 비해 배우기 쉽다는 장점이 있어 많은 사람들이 처음 시작하는데 자주 사용하는데 조금만 깊게 공부를 하면 할수록 커스텀이 필요하다는 말을 들었다.  특정 프로젝트에서는 요구사항에 맞게 JSONRenderer를 커스터마이징해서 사용해야 할 경우도 생긴다고 한다. 이번 포스트에서는 DRF에서의 JSONRenderer를 커스터마이징 하는 방법에 대해서 작성해 보려고 한다.DRF의 기본적인 Response의 경우에는 왼쪽 사진처럼, 커스터마이징한 결과는 오른쪽처럼 표시가 되도록 하려고 한다.우선 rest_framework.renderers에서 JSONRenderer를 상속받아 오버라이딩해 주었다.# c..
· Django, DRF
ORM ORM은 객체(Object)와 관계형 데이터베이스(Relational Database)를 연결해준다. SQL을 작성하는 것이 아니라, ORM을 이용하여 프로그래밍 언어로 DML을 수행할 수 있다. 즉, ORM은 객체 지향 프로그래밍에서 관계형 데이터 베이스의 데이터를 객체로 매핑하는 기술이다. ORM의 장점으로는 객체지향적인 코드를 통해서 데이터를 다루기 때문에 코드 가독성이 높고, 생산성을 높여준다. 반대로, 단점으로는 쿼리하는 데이터가 복잡해질 수록 ORM이 불편하고 제약으로 인해 SQL의 모든 기능을 활용하지 못할 수 도 있다는 단점이 있다. 그 외의 ORM의 장점 더보기 1. 트랜잭션 관리 ORM은 트랜잭션을 사용하여 데이터베이스의 작업의 일관성과 안전성을 보장한다. Django의 ORM은..
· Django, DRF
프로젝트를 진행하면서 import문은 빠질 수 없는 부분이다. 코드를 작성하고 디버깅하는 동안 import문을 생각없이 막 작성하였고 코드가 길어지고 복잡해질수록 import문의 순서와 구조가 중요하다는게 느껴졌다. 처음에는 간단한 코드만 작성해서 별 생각 없이 작성하였는데, 코드가 질어지니 import문을 찾는것도 힘들었다. 그러다 문득 변수명도 규칙과 스타일이 있는데 import문을 작성하는 규칙이나 스타일은 없을까? 라는 생각이 들었고 정의된 규칙이 있다는 것을 알게 되었다. import 순서의 간단한 규칙 import문은 알파벳 순서로 정렬될 수 있다. 한줄에 하나의 import문을 작성하여 가독성을 높인다. 각 그룹마다 빈 줄을 추가하여 import 그룹을 시각적으로 구분한다. 라이브러리의 축약..
· Django, DRF
# 1. 가상환경 생성 Windows: py -m venv myenv macOS/Linux: python3 -m venv myenv # 2. 가상환경 활성화 Windows: myenv\Scripts\activate macOS/Linux: source myenv/bin/activate # 3. 패키지 설치 pip install package_name # 3-1. 특정 버전 패키지 설치 pip install package_name==1.2.3 # 4. requirements.txt 파일 생성 pip freeze > requirements.txt # 5. 패키지 설치(requirements.txt에 명시된 패키지들을 설치) pip install -r requirements.txt # 6. 가상환경 비활성화 d..
· Django, DRF
들어가며 일반적으로 CRUD가 기본이라고 이야기하고, 신입이라면 넉넉잡게 기간을 잡아도 일주일이면 CRUD에 대한 구현을 완성해야 한다는 이야기를 들은 적이 있다. CRUD는 말 그대로 Create, Read, Update, Delete로 생성, 읽기, 수정, 삭제를 의미를 가지고 있다. 클라이언트가 서버로 요청을 보내는 방법으로는 GET 요청과 POST 요청이 있는데, GET의 경우는 가지고온다. POST의 경우는 수행한다.라는 개념으로 이해하면 쉬운 개념이다. 처음 HTTP요청을 배웠을 때는 뭐가 뭔지 잘 이해도 안 가고 용도 구분도 하지 않고 진행했던 적도 있었다. 본론으로 돌아가서, 각 메소드들을 내가 알고 있는 기능들을 구분하여 진행하려고 하니 문제점이 생겼다. Create - Post Read..
Jong_seoung
'Django, DRF' 카테고리의 글 목록 (2 Page)