2016-12-29 12 views

ответ

7

APIView - это самый базовый класс, который вы обычно переопределяете при определении вида REST. Обычно вы определяете свои методы, такие как get, put, delete и others check (http://www.cdrf.co/3.5/rest_framework.views/APIView.html). С APIView вы определяете вид и добавить их к URL, например, так:

#in views.py 
class MyAPIView(APIView): 
    ... #here you put your logic check methods you can use 
#in urls.py 
url(r'^posts$', MyAPIView.as_view()), #List of all the posts 

Поскольку некоторые вещи, как получение/должность/4, удаление/запись/4, получать все сообщения, обновление и создание новых пост был настолько распространенным, что DRF предоставляет Viewsets.

Но прежде, чем вы узнаете, что есть варианты Viewsets, позвольте мне сказать вам, что есть и общие классы, что они делают это очень хорошо, но вам нужно предоставить полный конечный пункт API, как и в моем представлении MyAPIView (снова для получения дополнительной информации http://www.cdrf.co/ или http://www.django-rest-framework.org/). Таким образом, вам нужно будет определить свой собственный путь к URL-адресам.

Но с ViewSets вы создаете Viewset, что на самом деле объединяет все описанные выше операции, а также вам не нужно определить путь URL-адрес обычно используется маршрутизатор, который делает путь для вас, как:

#views.py 
class PostViewSet(ViewSet): #here you subclass Viwset check methods you can   override, you have also ModelViewSet,... 
# urls.py 
router = routers.DefaultRouter() 
router.register(r'post', PostViewSet, base_name='Post') 
Смежные вопросы