2016-12-29 3 views

答えて

7

APIViewは、通常、RESTビューを定義するときにオーバーライドする最も基本的なクラスです。あなたは通常get、put、deleteなどのメソッドを定義します(http://www.cdrf.co/3.5/rest_framework.views/APIView.html)。 APIViewであなたビューを定義すると、あなたはそうのようなあなたのURLに追加します。のような特定の物事には、/ポスト/ 4を取得/ポスト/ 4を削除する、すべての記事を取得し、新しいを更新して作成するので

#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 

投稿は非常に一般的で、DRFはViewsetsを提供しています。

しかし、まずビューセットが分かっている前に、それらが非常に優れているジェネリッククラスもありますが、MyAPIViewビューで行ったように完全なAPIエンドポイントを提供する必要があります。 http://www.cdrf.co/またはhttp://www.django-rest-framework.org/)。したがって、独自のURLパスを定義する必要があります。

しかし、あなたが実際にすべての上記の操作をマージしても、あなたは通常、あなたが好きなのためにパスを作るルータを使用した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') 
関連する問題