2016-12-29 64 views

Odpowiedz

7

APIView to najbardziej podstawowa klasa, którą zwykle zastępujesz podczas definiowania widoku REST. Zwykle definiujesz swoje metody, takie jak pobieranie, wstawianie, usuwanie i inne sprawdzanie (http://www.cdrf.co/3.5/rest_framework.views/APIView.html). Z APIView zdefiniować swoją widok i dodać go do listy adresów URL tak:

#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 

Ponieważ niektóre rzeczy takie jak uzyskanie/post/4, usuwanie/post/4, uzyskiwanie wszystkie posty, aktualizacja i tworzenie nowych post był tak powszechny, że DRF zapewnia widoki.

Ale zanim poznasz zestawów widoków, powiem Ci, że są również klasy ogólne, które robią to bardzo dobrze, ale musisz podać pełny punkt końcowy interfejsu API, tak jak zrobiłem to z widokiem MyAPIView (ponownie w celu sprawdzenia więcej informacji) http://www.cdrf.co/ lub http://www.django-rest-framework.org/). Więc musisz zdefiniować własną ścieżkę adresów URL.

Ale z ViewSets utworzyć viewset że rzeczywiście łączy się wszystkie powyżej opisane operacje, a także nie trzeba zdefiniować ścieżkę URL zazwyczaj użyć routera, który sprawia, że ​​ścieżki dla ciebie jak:

#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')