APIView类和generics.GenericAPIView之间有什么区别

时间:2018-06-14 09:18:33

标签: python django-rest-framework

APIView类和generics.GenericAPIView

之间有什么区别

2 个答案:

答案 0 :(得分:4)

APIView是基于基类的视图。视图集将APIView作为父类。

使用API​​view,您可以为不同的HTTP调用方法(例如post,get,put等)编写方法等。这些方法没有标准配置,因此您可以根据需要进行自定义

使用Viewsets,您可以编写更具体的方法。例如,“ retrieve”方法将期望获取请求的参数和对象的pk。因此,您编写用于创建,检索,列表等的方法,而不是发布,获取...

接下来,您还将拥有路由器。这些可与视图集配合使用,并将根据您对Viewset的编码方式为您创建网址

答案 1 :(得分:2)

APIView是一个基类。它没有多少假设,并且允许你插入任何东西。

GenericAPIView旨在与Django的模型配合使用。它并没有超出模型内省所能提供的所有细节和口哨。