본문 바로가기

Back-end/Django

Django REST framework 기본 익히기

Django 개발 환경 세팅 ( windows )

 

  • 설치할 폴더를 생성 후 가상환경을 설치해줍니다.
  • 가상환경은 (venv)가 표시되면 정상적으로 진입한 것입니다.
> mkdir Rest-CRUD

> cd Rest-CRUD

> python -m venv venv

> .\env\Scripts\activate 또는 venv\Scripts\activate

> (venv) pip install django

> (venv) django-admin startproject mysite .

> (venv) python manage.py startapp api

 

  • djangorestframework : DRF의 모든 기능을 사용하기 위해 설치합니다. 
  • django-rest-knox : 회원가입/인증에 사용될 패키지입니다.
> (venv) pip install djangorestframework

> (venv) pip install django-rest-knox

 

  • app을 추가하고 미리 세팅해줍니다. 
# mysite/settings.py

ALLOWED_HOSTS = ['127.0.0.1']

INSTALLED_APPS = [

    ...

    'api',

    'rest_framework',

    'knox',

]

TIME_ZONE = 'Asia/Seoul'

 

 

  • migration을 해줍니다.  
> (venv) python manage.py makemigrations

> (venv) python manage.py migrate

 

  • 여기까지 세팅이 완료되었다면 실행해봅시다
  • Django 기본 화면이 나오게 됩니다. 
> (venv) python manage.py runserver

 

  • 아주 간단한 api 하나 만들고 만들도록 하겠습니다.
  • GET 127.0.0.1:8000/api/hello/로 요청을 보내면 hello world print하는 api를 만들겠습니다.
  • 첫 번째 단계는 views.py를 작성하는 것입니다
# api/views.py



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



# Create your views here.

@api_view(['GET'])

def HelloAPI(request):

    return Response("hello world!")

 

  • 이제 api/urls.py 파일을 만들겠습니다.
# api/urls.py



from django.urls import path, include

from .views import HelloAPI



urlpatterns = [

    path("hello/", HelloAPI),

]

 

  • 마지막으로는 mysite/urls.py url을 등록하겠습니다.
# mysite/urls.py



from django.urls import path, include

from django.contrib import admin



urlpatterns = [

    path("admin/", admin.site.urls),

    path("api/", include("api.urls"))

    ]

 

  • 이제 실행시키고, 127.0.0.1:8000/api/hello/ 로 접속하시면 다음과 같은 화면을 볼 수 있습니다.

이 화면은  api  형태의 요청에 대한 응답을 다음과 같이 표시해줍니다

 

  • 여기까지 아주 간단하게 Django Rest Framework에 대한 감 잡기 및 설정까지 마쳤습니다.