ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Django REST Framework, Postman
    Django 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명까진 무료, 그 이상은 유료)

     

    'Django' 카테고리의 다른 글

    Token Auth with JWT  (1) 2024.09.03
    Python Django 기초 시험 오답노트  (1) 2024.09.02
    JSON Response와 Serialization  (1) 2024.09.01
    HTTP와 URL구조  (1) 2024.08.29
    Django Model Relationship (M:N)  (0) 2024.08.27
Designed by Tistory.