728x90
반응형
전 포스트에서 프로젝트까지 만들었었다.
1. settings.py 파일에 rest_framework 를 추가해준다.
ALLOWED_HOSTS = ['*']
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework'
]
2. 새 마이그레이션을 생성하고 슈퍼유저를 생성해준다.
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py createsuperuser
3. 앱을 하나 만들어준다. ( 이름은 상관없습니다. )
$ python manage.py startapp chwideukapp
4. apiServer 폴더 안 settings.py 에 만든 앱을 추가해준다.
/apiServer/settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'chwideukapp'
]
5. 새로 만든 앱의 models.py 파일을 수정해준다.
/chwideukapp/models.py
from django.db import models
class ChwideukModel(models.Model):
title = models.CharField(max_length=70, default='')
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
6. 새 마이그레이션을 생성한다.
$ python manage.py makemigrations
$ python manage.py migrate
7. serializers.py 파일을 만든다.
/chwideukapp/serializers.py
from rest_framework import serializers
from .models import ChwideukModel
class ChwideukSerializer(serializers.ModelSerializer):
class Meta:
model = ChwideukModel
fields = ['title']
8. views.py 파일을 수정해준다.
from rest_framework.views import APIView
from rest_framework.response import Response
class ChwideukRouter(APIView):
def get(self, request):
return Response({'success': True})
def post(self, request):
return Response({'success': False})
9. apiServer 폴더의 urls.py에 방금 만든 라우터를 추가해준다.
from django.contrib import admin
from django.urls import include, path
from chwideukapp.views import ChwideukRouter
urlpatterns = [
path('admin/', admin.site.urls),
path('api/chwideuk/', ChwideukRouter.as_view())
]
728x90
반응형