程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Django】面試題總結之django rest_framework框架中的視圖都可以繼承哪些類

編輯:Python

一、 APIView:

繼承APIView父類

a、具備View的所有特性
b、提供了認證、授權、限流功能
c、將JsonResponse——》Response(如果是序列化輸出多條數據將safe=False去掉)

二、GenericAPIView

繼承GenericAPIView父類

1、具備View的所有特性
2、具備了認證、授權、限流功能
3、還支持對於獲取列表數據接口的功能:搜索、排序、分頁
4、一旦繼承GenericAPIView之後,就需要指定queryset、serializer_class類屬性
queryset指定當前類視圖的實例方法需要使用的查詢集對象
serializer_class指定當前類視圖的實例方法需要的序列化器類
5、在繼承了GenericAPIView的類視圖中,search_fields類屬性指定模型類中需要進行搜索過濾的字段名

注意:

1、在實例方法中,往往使用get_queryset()方法獲取查詢集對象
2、一般不會直接調用queryset類屬性,原因:為了提供讓用戶重寫get_queryset()方法
3、如果未重寫get_queryset()方法,那麼必須得指定queryset類屬性
4、在實例方法中,往往使用get_serializer方法獲取序列化器類
5、一般不會直接調用serializer_class類屬性,原因:為了提供讓用戶重寫get_serializer_class()方法
6、如果未重寫get_serializer_class()方法,那麼必須得指定serializer_class類屬性




  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved