728x90
반응형

1. 프로젝트를 만든다.

$ django-admin startproject apiServer

 

2. settings.py 파일에 rest_framework 를 추가해준다.

settings.py

ALLOWED_HOSTS = ['*']

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
]

 

3. 새 마이그레이션을 생성하고 슈퍼유저를 생성해준다.

$ python3 manage.py makemigrations
$ python3 manage.py migrate
$ python3 manage.py createsuperuser

 

4. 앱을 하나 만들어준다. ( 이름은 상관없습니다. )

$ python3 manage.py startapp chwideukapp

 

5. 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'
]

 

6. 새로 만든 앱의 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

 

7. 새 마이그레이션을 생성한다.

$ python3 manage.py makemigrations
$ python3 manage.py migrate

 

8. serializers.py 파일을 만든다.

/chwideukapp/serializers.py

from rest_framework import serializers
from .models import ChwideukModel


class ChwideukSerializer(serializers.ModelSerializer):
    class Meta:
        model = ChwideukModel
        fields = ['title']

 

9. 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})

 

10. 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())
]

 

11. 서버를 시작하고 postman으로 실험해보았다. ( 서버 포트는 8000, 로컬 포트는 8001 입니다 )

 

이제 API 서버와 라우터는 만들었으니 다음 포스트에서는 Selenium을 사용해보겠다.

728x90
반응형

+ Recent posts