Python-Framework/Python-Framework__Django

django rest api 2) 프로젝트 실행하기

말하는감자 2019. 9. 6. 19:27

1. 이전에 생성한 프로젝트 이름은 server입니다.

프로젝트 내부의 settings.py 를 열어준다
INSTALLED_APPS에 내용을 입력해준다.
'rest_framework'
'search'(앱이름) 만 추가해준다

프로젝트/setting.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'search'
]

 

 

2. 프로젝트 내부의 urls.py를 오픈해준다.

기본적으로 뭔가 적혀있다.
django.urls 에 기본적으로 path만 임포트 되어있는데 include를 추가해준다.
그리고 urlpatterns에 앱 내부의 urls를 사용하기 위해서 path를 추가해준다.

프로젝트/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include('search.urls')),
]

 

 

3. 앱 내부에 urls.py 파일을 생성해준다

앱/urls.py
from django.urls import path
from . import views
urlpatterns = [
    path('search/', views.search_list, name='search_list'),
]

지금의 path 대로 따라가면 http://localhost:8000/api/search/ 로 접속하면 views의 search_list 메서드로 연결된다.
즉... views의 search_list가 아닌 다른 메서드를 생성하고 싶다면 다른 이름으로 설정해주어야 합니다.

 

 

4. 앱 내부의 views.py를 열어준다.

앱/views.py
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
@api_view(['GET', 'POST'])
def search_list(request):
    print("test")
    return Response({'key': 'value'}, status=status.HTTP_200_OK)

메서드로 전달이 잘 되는지만 확인하려고 간단하게 print만 추가해주었다.
만약 POST 테스트를 하고싶다면
print(request.data['제이슨칼럼이름']) 으로 간단하게 테스트가 가능하다.

 

 

5. 테스트

프로젝트 RUN 후에 http://localhost:8000/api/search 로 접속해준다

아래의 콘솔창에 test가 잘 출력되었습니다.
테스트는 성공인 것으로 >_<

'Python-Framework > Python-Framework__Django' 카테고리의 다른 글

django rest api  (0) 2021.01.20
django table drop  (0) 2021.01.13
django rest api 1) 초기 셋팅  (0) 2019.09.06
2) Detail 구현  (0) 2019.01.10
1) 프로젝트 생성 및 연결  (0) 2019.01.08