∟ Framework/∟ DRF

Django REST Framework(DRF) API 구현

최 수빈 2025. 3. 29. 15:06

 

DRF 설치 및 설정

pip install djangorestframework

 

settings.py에 등록

INSTALLED_APPS = [
    ...
    'rest_framework',
    ...
]

 

 

URLConf 설정 (urls.py)

from django.urls import path
from . import views

app_name = "articles"

urlpatterns = [
    path("html/", views.article_list_html, name="article_list_html"),
    path("json-01/", views.json_01, name="json_01"),
    path("json-02/", views.json_02, name="json_02"),
    path("json-drf/", views.json_drf, name="json_drf"),
]

 

 

Serializer 생성 (serializers.py)

from rest_framework import serializers
from .models import Article

class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
        model = Article
        fields = "__all__"

Django의 ModelForm과 유사하게 동작함

 

뷰 함수 구현 (views.py)

from rest_framework.decorators import api_view
from rest_framework.response import Response
from .serializers import ArticleSerializer
from .models import Article

@api_view(["GET"])
def json_drf(request):
    articles = Article.objects.all()
    serializer = ArticleSerializer(articles, many=True)
    return Response(serializer.data)

@api_view 데코레이터는 DRF의 기능을 사용할 수 있도록 함

 

/json-drf

API 호출 테스트

 

클라이언트에서 API 호출 테스트 (my_program.py)

import requests

url = "http://127.0.0.1:8000/api/v1/articles/json-drf"
response = requests.get(url)

print(response)          # <Response [200]>
print(response.json())   # JSON 데이터 출력

파이썬 코드로 API를 호출하면 다른 소프트웨어에서도 손쉽게 데이터를 사용할 수 있음

 

python my_program.py

 

응답된 JSON 데이터는 프론트엔드(Client)에서 처리

  • 서버는 JSON 형태로 데이터 제공 → 실제 데이터를 어떻게 보여줄지 프론트엔드에서 처리

 

 

Postman

API 개발 및 테스트, 문서화할 수 있는 도구

 

  • API 디자인, 테스트, 문서화, 공유 가능
  • 환경 변수 설정과 컬렉션 관리로 반복 작업 간편화
  • 팀원들과 협업 기능 제공 (최대 3명 무료)

 

Postman 사용법

  1. https://www.postman.com/ 설치 및 회원가입
  2. My Workspace 접속
  3. 새로운 Collection 생성
  4. 요청(Request) 생성 후 URL 및 메서드 설정
  5. Send 버튼 클릭 → 응답 확인

postman