저자: 당신의 이름
작성일: 2023년 10월
1. 서론
Django는 파이썬으로 작성된 고급 웹 프레임워크로, 웹 애플리케이션을 빠르게 개발할 수 있는 강력한 도구입니다. 본 강좌에서는 Django를 이용해 간단한 RESTful API를 만들고, Postman을 사용해 이 API를 테스트 및 문서화하는 방법을 다룹니다.
2. Django 환경 설정
시스템에 Django를 설치하려면 아래 명령어를 터미널에 입력하세요:
pip install django
새로운 Django 프로젝트를 생성하고 실행해 봅시다:
django-admin startproject myproject
cd myproject
python manage.py runserver
위 명령어를 통해 웹 서버가 실행됩니다. 기본적으로 http://127.0.0.1:8000에서 접근할 수 있습니다.
3. Django REST Framework 설치
RESTful API를 쉽게 구축하기 위해 Django REST Framework를 설치합니다:
pip install djangorestframework
설치 후, 프로젝트의 설정 파일인 settings.py
에 Django REST Framework를 추가해야 합니다:
INSTALLED_APPS = [
...
'rest_framework',
]
4. Django 모델 생성
이제 간단한 데이터를 저장할 모델을 생성해 보겠습니다. app
이라는 새 Django 애플리케이션을 생성합니다:
python manage.py startapp app
그 후, models.py
파일에 내용을 추가하여 모델을 정의합니다:
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
위 코드는 포스트(title, content, created_at 속성을 가지는)을 정의합니다.
5. 데이터베이스 설정 및 마이그레이션
이제 Django의 설정 파일에서 데이터베이스를 설정합니다. 기본적으로 Django는 SQLite를 사용합니다. 다음 명령어를 통해 마이그레이션을 실행하여 모델에 맞는 테이블을 생성합니다:
python manage.py makemigrations
python manage.py migrate
6. Django 뷰 및 직렬화기 설정
다음으로 API를 통해 데이터에 접근할 수 있도록 뷰와 직렬화기를 설정합니다. app/serializers.py
파일을 생성하고 아래와 같은 내용을 추가합니다:
from rest_framework import serializers
from .models import Post
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = '__all__'
그 후, views.py
파일을 수정하여 API 엔드포인트를 추가합니다:
from rest_framework import viewsets
from .models import Post
from .serializers import PostSerializer
class PostViewSet(viewsets.ModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
7. URL 라우팅 설정
이제 API가 요청을 받을 수 있도록 URL을 설정해야 합니다. 프로젝트의 urls.py
파일을 수정하여 다음과 같이 내용을 추가합니다:
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from app.views import PostViewSet
router = DefaultRouter()
router.register(r'posts', PostViewSet)
urlpatterns = [
path('', include(router.urls)),
]
이제 GET, POST, PUT, DELETE 요청을 통해 포스트에 접근할 수 있습니다.
8. 서버 실행 및 API 접근
서버를 다시 실행합니다:
python manage.py runserver
이제 http://127.0.0.1:8000/posts/에 접속하여 API를 사용할 수 있습니다.
9. Postman을 이용한 API 테스트
Postman을 설치하고 실행한 후, 아래 단계를 통해 API를 테스트합니다:
- GET 요청: 새로 생성한 API 엔드포인트인
/posts/
로 GET 요청을 보내어 데이터 목록을 확인합니다. - POST 요청: 새 포스트를 생성하기 위해
/posts/
로 POST 요청을 보내며, 요청 본문에 JSON 형식으로 데이터를 포함합니다.
{
"title": "새 포스트",
"content": "포스트 내용입니다."
}
/posts/{id}/
로 PUT 요청을 보내며, 수정할 데이터를 JSON 형식으로 포함합니다./posts/{id}/
로 DELETE 요청을 보냅니다.10. Postman을 사용한 문서화
Postman에서는 API를 문서화하는 기능을 제공합니다. 아래 단계에 따라 API 문서를 만들 수 있습니다:
- Postman에서 요청을 생성하고, 요청 이름 및 설명을 추가합니다.
- 테스트를 위해 제공한 요청 본문의 예시 및 응답 예시를 추가합니다.
- 모든 요청을 그룹화하고, 각 요청에 대한 설명을 추가하여 API를 명확하게 문서화합니다.
- 최종적으로 Postman Workspaces 기능을 이용해 팀원들과 공유 가능하며, 이를 통해 API를 일관되게 사용할 수 있도록 합니다.
11. 마무리
이번 강좌를 통해 Django를 사용하여 API를 구축하고, Postman을 통해 이 API를 테스트 및 문서화하는 방법을 학습했습니다. Django와 Postman의 결합은 웹 애플리케이션 개발 시 매우 유용하며, 효율적인 작업을 가능하게 합니다.