728x90
REST API를 구현하여 Flutter 앱에서 GET 요청을 보내면 특정 값을 반환하도록 설정할 수 있습니다. 이를 위해 Django REST framework (DRF)를 사용할 수 있습니다.
단계별 가이드
- Django REST framework 설치
pip install djangorestframework - 프로젝트 설정 업데이트 settings.py 파일에 rest_framework를 추가합니다.
INSTALLED_APPS = [...'rest_framework',] - 시리얼라이저 생성 Django 모델 데이터를 JSON 형태로 변환하기 위해 시리얼라이저를 만듭니다.
# api/models.py
from django.db import models
class MyModel(models.Model):
name = models.CharField(max_length=100)
value = models.IntegerField()
def __str__(self):
return self.name - 시리얼라이저를 만듭니다.
# api/serializers.py
from rest_framework import serializers
from .models import MyModel
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ['id', 'name', 'value'] - 뷰셋 생성 DRF의 ViewSet을 사용하여 API 뷰를 만듭니다.
# api/views.py
from rest_framework import viewsets
from .models import MyModel
from .serializers import MyModelSerializer
class MyModelViewSet(viewsets.ModelViewSet):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer - URL 라우터 설정 라우터를 사용하여 URL을 설정합니다.
# api/urls.py
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import MyModelViewSet
router = DefaultRouter()
router.register(r'mymodel', MyModelViewSet)
urlpatterns = [
path('', include(router.urls)),
] - 프로젝트 URL 설정 메인 URL 설정 파일에서 API URL을 포함시킵니다.
# project/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
]
- 이제 admin 페이지에 접속하여, 데이터를 추가하고, 접속해보면
이런 식으로 데이터가 반환되는 것을 볼 수 있습니다.
728x90
'웹 > 백엔드' 카테고리의 다른 글
[FastAPI] AI 학습 모델 배포하기에 최적화된 서버 (0) | 2024.07.05 |
---|---|
[Django] celery와 celery-beat란? (0) | 2024.07.01 |
Django, Nginx, Docker 연동 시 주의사항 (0) | 2024.06.26 |
[AWS EC2 서버 배포] Django 구축하기 (0) | 2024.06.20 |
윈도우에서 HTML 파일을 웹 서버에 올리는 방법(Nginx) (0) | 2024.05.04 |