웹에서 탐색 가능한 멋진 웹 API입니다.
프로젝트에 대한 전체 문서는 https://www.django-rest-framework.org/에서 확인할 수 있습니다.
REST 프레임워크는 공동으로 자금을 지원하는 프로젝트 입니다. REST 프레임워크를 상업적으로 사용하는 경우 유료 플랜에 등록하여 지속적인 개발에 투자할 것을 적극 권장합니다.
초기 목표는 REST 프레임워크에서 단일 정규직을 제공하는 것입니다. 모든 단일 가입은 이를 가능하게 하는 데 중요한 영향을 미칩니다.
모든 훌륭한 후원자, 특히 프리미엄 후원자 Sentry, Stream, Spacinov, Retool, bit.io, PostHog, CryptAPI, FEZTO, Svix 및 Zuplo에게 깊은 감사를 드립니다.
Django REST 프레임워크는 웹 API 구축을 위한 강력하고 유연한 툴킷입니다.
REST 프레임워크를 사용하려는 몇 가지 이유는 다음과 같습니다.
아래 : 탐색 가능한 API의 스크린샷
우리는 각 Python 및 Django 시리즈의 최신 패치 릴리스를 적극 권장하며 공식적으로만 지원합니다.
pip
사용하여 설치 ...
pip install djangorestframework
INSTALLED_APPS
설정에 'rest_framework'
추가하세요.
INSTALLED_APPS = [
...
'rest_framework' ,
]
사용자 및 그룹에 액세스하기 위한 간단한 모델 지원 API를 구축하기 위해 REST 프레임워크를 사용하는 간단한 예를 살펴보겠습니다.
이렇게 새 프로젝트를 시작합니다.
pip install django
pip install djangorestframework
django-admin startproject example .
./manage.py migrate
./manage.py createsuperuser
이제 프로젝트에서 example/urls.py
모듈을 편집합니다.
from django . contrib . auth . models import User
from django . urls import include , path
from rest_framework import routers , serializers , viewsets
# Serializers define the API representation.
class UserSerializer ( serializers . HyperlinkedModelSerializer ):
class Meta :
model = User
fields = [ 'url' , 'username' , 'email' , 'is_staff' ]
# ViewSets define the view behavior.
class UserViewSet ( viewsets . ModelViewSet ):
queryset = User . objects . all ()
serializer_class = UserSerializer
# Routers provide a way of automatically determining the URL conf.
router = routers . DefaultRouter ()
router . register ( r'users' , UserViewSet )
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
path ( '' , include ( router . urls )),
path ( 'api-auth/' , include ( 'rest_framework.urls' , namespace = 'rest_framework' )),
]
또한 API에 대한 몇 가지 설정을 구성하고 싶습니다.
settings.py
모듈에 다음을 추가합니다.
INSTALLED_APPS = [
... # Make sure to include the default installed apps here.
'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' ,
]
}
이제 끝났습니다!
./manage.py runserver
이제 브라우저에서 http://127.0.0.1:8000/
으로 API를 열고 새로운 '사용자' API를 볼 수 있습니다. 오른쪽 상단에 있는 Login
컨트롤을 사용하면 시스템에서 사용자를 추가, 생성 및 삭제할 수도 있습니다.
curl
과 같은 명령줄 도구를 사용하여 API와 상호 작용할 수도 있습니다. 예를 들어 사용자 엔드포인트를 나열하려면 다음을 수행하세요.
$ curl -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
[
{
"url": "http://127.0.0.1:8000/users/1/",
"username": "admin",
"email": "[email protected]",
"is_staff": true,
}
]
또는 새 사용자를 생성하려면:
$ curl -X POST -d username=new -d [email protected] -d is_staff=false -H 'Accept: application/json; indent=4' -u admin:password http://127.0.0.1:8000/users/
{
"url": "http://127.0.0.1:8000/users/2/",
"username": "new",
"email": "[email protected]",
"is_staff": false,
}
프로젝트에 대한 전체 문서는 https://www.django-rest-framework.org/에서 확인할 수 있습니다.
질문과 지원이 필요하면 REST 프레임워크 토론 그룹을 사용하거나 libera.chat IRC의 #restframework
사용하세요.
보안정책을 확인하시기 바랍니다.