Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
DRF)개발 순서 정리(짧게 써보려고 했으나 도저히 짧아지지 않은 글...)
#python
3년 전
846
1

1. 프로젝트 설정

(1) 가상환경 설치(pipenv 또는 virtualenv) 및 django, djangorestframework 설치.

pip라면 pip3 install django djangorestframework 라고 하면 django랑 DRF를 동시에 설치 가능함.

(2)django-admin startproject config . ( 옆에 점까지 쳐줘야지 config폴더에서 폴더,파일 이름 바꾸고 밖으로 꺼내는 작은 수고를 던다.)

(3)django-admin startapp users와 core는 필수, 그 밖의 다른 앱들을 정의한다.

정의한 앱 폴더에 모두 serializers.py를 만들어 놓을 것.(공백 상태일 때는 그냥 하나 만들고 다 붙여넣기 하면 됨.) 반대로 DRF는 forms.py와 templates폴더는 필요 없다.

(4)앱이 만들어지면 각 앱의 apps.py에 써있는 것을 따라 config 폴더의 settings.py에 앱을 등록한다.(노마드코더 강의처럼 INSTALLED_APPS를 DJANGO_APPS와 PROJECT_APPS, THIRD_PARTY_APPS 등으로 나누는 것을 추천.그 후에 예를 들면 'users.apps.UsersConfig'등의 이름들을 PROJECT_APPS에 등록하고, THIRD_PARTY_APPS에 rest_framework를 등록할 것.

(5)이 이후의 프로젝트 설정은 퓨어 장고와 같음.

2.개발 순서.

(1)models.py에서 모델 정의. models는 말그대로 데이터베이스를 정의하는 것이므로 DRF를 신경쓸 것 없이 퓨어장고와 똑같이 정의하면 됨.

(2)serializers.py를 정의. 프로젝트의 인터프리터를 제대로 고르지 않으면 rest_framework를 임포트 할 때 에러가 나므로 인터프리터를 꼭 제대로 고르세요.

(3)viewset 정의. APIView나 ModelViewset등 여러가지가 있는데 ModelViewset이 CBV랑 같다고 보면 되고 APIView가 FBV와 비슷하다고 보면 된다.

Django의 CBV 참고사이트 CCBV가 있듯이 DRF의 Classy DRF의 참고가 가능한 CDRF가 있음.

CDRF 링크

(4)viewset을 정의했다면 urls.py에 등록. Viewset을 urls.py 안에서 as_view로 하나의 변수로 정의한 다음에 퓨어장고처럼 urlpatterns에 path('URL', 변수, 이름)으로 정의해도 되고, DRF의 Router를 이용해도 된다. Router가 제일 편할 것이다.

(5)URL이 등록되었다면 Serializer와 View가 제대로 정의가 되었다면 그 때부터 API가 이용 가능하다.

끝.

1 comment