# django를 공부하던 중 , rest API 를 적용해봐야겠다는 필요성을 느끼고 , DRF 학습을 시작
목차
- django 및 drf 환경 설정
- 간단한 연습 api 구축
- 도서 정보 get,post api 구축 - fbv
- 도서 정보 get,post api 구축 - cbv
python -m venv venvdrf
cd venvdrf
cd Script
activate
cd ..
cd ..
pip install django==3.2.10
django-admin startproject mydrf .
pip install djangorestframework==3.13.1
-settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#drf 적용으로 인한 추가
'rest_framework',
]
python manage.py startapp exampledrf
-settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#drf 적용으로 인한 추가
'rest_framework',
#새로운 앱 등록으로 인해 추가
'exampledrf'
]
-마이그레이션 진행
python manage.py makemigrations
.
python manage.py migrate
-exampledrf/views.py
# django.shortcuts , render는 django의 기본이므로// 지운다
# from django.shortcuts import render
# Create your views here.
from rest_framework import viewsets , permissions , generics, status
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.decorators import api_view
from rest_framework.generics import get_object_or_404
from .models import Book
from .serializers import BookSerializer
# 데코레이터 - @api_view사용
# 함수의 성격을 지정해준다 - ex) get,post.etc..
# 기본 GET api
@api_view(['GET'])
def HelloAPI(request):
return Response("hello world!")
@api_view() - 데코레이터 // get ,post 등 쓰임을 지정해준다 - fbv형식에서
-mydrf/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path("exampledrf/", include("exampledrf.urls"))
]
여기서 , include로 exampledrf 뒤에 오는 것은 example폴더에 있는 urls의 규칙을 따르도록
-exampledrf/urls.py
from django.urls import path,include
from .views import HelloAPI
urlpatterns = [
path("hello/",HelloAPI),
]
exampledrf/hello/ 가 올 경우 HelloAPI함수가 호출되도록 정의
-Hello Api .img
그 전까지는 , 단순하 hellopi
지금부터는 book ,books api 구축
회원 인증 개념 이해 및 회원가입 구현
- django rest framework에서 지원해주는 기능을 사용하여 회원가입을 구현
- 기존 django만을 사용했을때는 , 직접 아이디 중복 확인 절차부터 저장까지 모든 것을 구현했다면, drf를 사용하고 나서는 아이디중복 절차 부터 비밀번호 암호화까지 보다 쉽게 구현이 가능해졌다.
회원가입 API 화면

토큰 발행 확인 - admin 화면
