APIViewクラスとviewsetsクラスの違いは何ですか? 私はDjango REST-frameworkの公式文書に従っています。私には例がないと思う。APIViewクラスとビューセットクラスの違いは?
上記の違いを適切な例で説明できますか。
APIViewクラスとviewsetsクラスの違いは何ですか? 私はDjango REST-frameworkの公式文書に従っています。私には例がないと思う。APIViewクラスとビューセットクラスの違いは?
上記の違いを適切な例で説明できますか。
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')
を