목차
1. 가상환경
2. DRF 라이브러리 설치
3. 프로젝트 시작(준비운동)
1. 가상환경
Django에서 하던 것과 똑같은 순서로 진행하면 된다.
프로젝트를 진행할 파일을 생성하고 그 안에서 python -m venv 가상환경 이름을 친다.
. 가상환경 이름/Scripts/activate를 작성하면 터미널에 가상환경 이름에 괄호가 쳐서 뜰 것이다.
그 상태에서 pip install django를 입력하여 장고를 설치하고 django-admin startproject 프로젝트 이름을 쳐서
프로젝트를 실행하면 된다.
2. DRF 라이브러리 설치
https://www.django-rest-framework.org/#installation
DRF 홈페이지에 들어가보면 설치탭에 이런 내용이 있다.
그냥 하라는 대로 똑같이 하면 된다.
pip install djangorestframework markdown을 터미널에 입력하여 설치를 끝내고
setting.py에 INSTALLED_APPS과 urls.py의 urlpatterns에 해당 줄을 추가해주면 된다.
이때 installed_apps는 순서에 영향을 받기 때문에 django 뒤, 내가 추가할 app 앞에 써준다.
INSTALLED_APPS = [ ... 'rest_framework', ]
urlpatterns = [
... path('api-auth/', include('rest_framework.urls'))
]
여기까지 했으면 migrate해주고 runserver를 해보면
REST에서 기본적으로 api-auth을 통해서 login, logout기능을 지원함을 알 수 있다.
여기서 login까지 입력하면 실제로 drf에서 지원하는 로그인 창이 뜬다.
3. 프로젝트 시작(준비 운동)
Django에서 마찬가지로 startapp을 통해서 만들면 된다.
blog는 뭐고 blog_api는 뭔가요?
Django만 따로 사용하면서 공부하던 때는 template를 그냥 모두 때려 넣어서 하나의 웹 서비스를 만들었지만
DRF는 Django의 그런 단점을 없애고, 장점을 극대화하기 위해 사용하는 것이다.
따라서 이제는 Django는 일련의 DB처리를 해주는 하나의 컨테이너를 만들고, 그 컨테이너를 쌓아서
DB와 연동시킨 채 한 곳에 모아두면 이후 Front-end 파트나 인공지능과 연동시켜 하나의
서비스를 제공할 수 있게 되는 것이다.
이제 장고를 공부할 때 했던 걸 계속 반복해주면 된다. url이랑 app등록하고 view 뚝딱뚝딱
myproject.urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api-auth/', include('rest_framework.urls')),
path('', include('blog.urls', namespace='blog')),
path('api/', include('blog_api.urls', namespace='blog_api')),
]
blog.urls.py
from django.urls import path
from django.views.generic import TemplateView
app_name = 'blog'
urlpatterns = [
path('', TemplateView.as_view(template_name="blog/index.html")),
]
blog_api.urls.py
from django.urls import path
from .views import PostList, PostDetail
app_name = 'blog_api'
urlpatterns = [
# 세부 정보 생성. DB 개별 구성요소또는 개체 표시
#path('<int:pk>/', PostDetail.as_view(), name='detailcreate'),
# 본직적으로 여기가 홈페이지가 된다. DB의 모든 데이터를 표시
#path('', PostList.as_view(), name='listcreate'),
]
이 부분은 현재 작동하지 않으므로 일단 주석처리한다.
그 다음으로 서버의 색인을 쓸 것이므로 Template > blog > index.html을 만들어준다.
이 html이 홈페이지가 될 것이다.
그리고 다시 setting.py로 돌아와서 방금 새로 만든 templates의 위치를 명시해주어야 한다.
여기까지하고 다시 한 번 runserver을 해서 확인해보면
뭐가 뭔진 모르겠지만 잘 돌아가고 있는 거라고 한다. ㅎㅎ
일단 이해하려 하지 말고 흐름을 따라가자.