Dev./Django & DRF

Django : DRF 적용하기3 - Spectacular

Ivan'show 2023. 8. 16.
728x90
반응형

API 로 개발하는데 프론트 역할을 대신해줄 수 있는 기능이 담겨 있는 라이브러리를 사용하여 쉽게 기능동작을 확인할 수 있다.

install

pip install drf-spectacular
pip freeze | grep drf-spectacular >> requirements.txt

settings.py third party app 추가

## Third party Apps
INSTALLED_APPS += [
    'rest_framework',
    'drf_spectacular',
]

REST_FRAMEWORK 추가

REST_FRAMEWORK = {
    ...
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ],

     'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}

SPECTACULAR_SETTINGS = {
    'TITLE': 'Your Project API',
    'DESCRIPTION': 'Your project description',
    'VERSION': '1.0.0',
    'SERVE_INCLUDE_SCHEMA': False,
    # OTHER SETTINGS
}

project - urls.py

...
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
...

urlpatterns = [
		...

    # drf-spectacular
    # api 문서를 다운 받을 수 있는 
    path('api/schema/', SpectacularAPIView.as_view(), name='api-schema'),
    # Optional UI:
    # api 문서를 읽을 수 있는
    path('api/docs/', SpectacularSwaggerView.as_view(url_name='api-schema'), name='api-swagger-ui'),
]

해당 주소로 접속하게 되면

<http://localhost:8888/api/docs/>

지금까지 해온 내용들의 API 를 써볼 수 있게 되어 있다.

728x90
반응형

'Dev. > Django & DRF' 카테고리의 다른 글

Django: ‘WSGIRequest' object has no attribute 'data'  (0) 2023.10.18
[Cloud] Django: Code develop for TEST2  (0) 2023.08.31
Django : DRF 적용하기2  (0) 2023.08.16
Django : DRF 적용하기  (0) 2023.08.15
Django : DRF - quick start  (0) 2023.08.15

댓글