Django

Django REST Framework, Postman

monster route 2024. 9. 1. 07:16

 

📕 Django REST Framework (DRF)

  • Django를 이용해서 API를 구축하는 기능을 제공하는 라이브러리
  • Django의 Form, ModelForm과 굉장히 비슷하게 구성 및 작동한다

 

✅  DRF 설치 및 설정

 

install

pip install djangorestframework

 

 

settings.py

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

 

freeze

 

pip freeze > requirements.txt

 


 

이제 DRF를 사용해서 JSON을 응답하는 API를 설계하고 구현해보자👌

 

 

urls

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"),
]

 

 

articles앱에 serializers.py 파일을 생성해줘야 한다.

 

serializers.py

from rest_framework import serializers
from .models import Article


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

 

 

views

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

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

 

 

my_program.py (만들어줘야한다. 앱 안에 말고 바깥에 만들어주면 됨)

 

my_program.py

import requests

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

print(response)
print(response.json())

 

 

프린트 해보면 데이터가 잘 나온다. 이제 이 데이터를 사용해서 보여주는 건 Client의 몫이다.

 

서버 실행해서 확인해보면?

 

우와...😲 너무 예쁜게 나옴..

 

 


Postman

 

API를 제공하는 서버를 개발하고 난 후에는 해당 API를 Call 할 수 있는 도구가 필요하다.

그게 바로 Postman 📮

 

가입 및 설치 https://www.postman.com/

 

Postman API Platform | Sign Up for Free

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.

www.postman.com

 

🤔 포스트맨은

  • 개발자가 API를 디자인, 테스트, 문서화, 공유를 할 수 있도록 도와주는 소프트웨어다.
  • API 테스트, 환경 관리, 협업 등을 위한 강력한 기능을 제공하여 보다 효율적으로 API를 개발하고 테스트 할 수 있게 도와준다.

 

웹에서도 사용할 수 있지만 설치해서 사용하는게 좋음👌

 

다 설치했으면 프로그램을 실행해보자.

 

1. Workspaces 클릭 → My Workspace 클릭

 

2. Create collection 클릭

 

3. Collection 이름 지정 ('Django APIs')

 

이렇게 반영된다.

 

 

4. Add request 클릭

 

 

5. Request 이름 지정 ('Article 목록조회')

 

이렇게 반영된다.

 

 

6. 저장 & 보낼 주소 넣기

 

오렌지색 점은 저장이 안됐다는 표시다. 저장하고, 아래에 URL을 붙여넣기해서 보낼 주소를 입력해준다.

 

7. Send 클릭

 

vs code 터미널에서 확인해보면, 콜이 잘 들어왔고 잘 반영되고, 

 

데이터가 조회된다. 너무 신기😄

 

 

쿼리 파라미터에 Key 랑 Value 값도 지정해줄 수 있다.

 

 

 

  • 이렇게 하나하나의 API를 작성하고 테스트하면서 개발을 진행하게 된다.
  • Workspace는 공유하여 협업이 가능하다. (3명까진 무료, 그 이상은 유료)