用APIview实现的功能 路由 model 序列化文件 view视图 查询全部数据 新增数据 根据pk查询一条数据 根据pk进行修改一条数据 删除一条数据 用APIview实现的功能 代码语言:javascript 复制 """GET/books/提供所有记录POST/books/新增一条记录GET/books/<pk>/提供指定id的记录PUT/books/<pk>/修改指定id的记录DELETE/bo...
1、安装DRF 1 pip install djangorestframework 2、将DRF注册到APP中 1 2 3 4 5 6 7 8 9 10 INSTALLED_APPS=[ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app.apps.AppConfig'...
使用APIView实现增删查改Book模型的接口: # 使用APIView实现classBookDetailView(APIView):"""单个Book查询,Url中传入pk(主键id)"""defget(self,request,pk):book=Book.objects.get(pk=pk)# 用了一次objects.getserializer=BookSerializer(instance=book)returnResponse(serializer.data)defpatch(self,request,p...
3 基于ListAPIView、CreateAPIView实现获取所有数据,增加数据 3.1 ser 3.2 views 3.3 urls 4 基于ModelViewSet实现Course表实现增删改查 4.1 ser 4.2 views 4.3 urls 5 基于APIView+serializer实现对模块表 获取列表数据。FK 5.1 ser 5.2 views 5.3 urls
# views.py class BooksView(APIView): # 新增 def post(self,request): response_msg = {'status': 100, 'msg': '成功'} #修改才有instance,新增没有instance,只有data book_ser = BookSerializer(data=request.data) # book_ser = BookSerializer(request.data) # 这个按位置传request.data会给instance...
ViewSet,只要继承了这个,就实现了增删改查,但是要重写查询全部和详情。 最主要的就是路由的书写 代码语言:javascript 复制 """以下是APIView的视图集"""#classBookViewSet(ViewSet):#"""视图集"""# # deflist(self,request):# 重写了查询全部 # qs=BookInfo.objects.all()# serializer=BookInfoModelSerializer(...
基于D R F 的增删改查操作 基于DRF的增删改查操作 基于DRF的增删改查操作 一APIView from django.urls import path from .views import PersontView app_name = 'classview' urlpatterns = [ # 列表: /person/ get # 新增: /person/ post # 详情: /person/[pk]/ get ...
DRF通过多父类继承的方式,实现了各个不同的功能类。父类主要有两种,一种是mixin,一个是GenericAPIView。 属性 queryset - 必须指定!用于从视图返回对象的查询结果集。通常,你必须设置此属性或者重写 get_queryset() 方法。如果你重写了一个视图的方法,你应该调用get_queryset() 方法而不是直接访问该属性,因为 ...
设置分页的类 pagination_class = MyPageNumberPagination """ 视图使用小总结 只想实现简单的增删改查 ModelViewSet 只想增 CreateModelMixin,GenericViewSet 只想增删改 CreateModelMixin,DestroyModelMixin,UpdateModelMixin,GenericViewSet 如果视图中的业务逻辑复杂,以上都不能满足的时候,直接使用 APIView #自动路由配置...
DRF+GenericAPIView子类实现增删改查 和APIView相比,基本不用怎么写代码,只是简单的写两行 DRF+ViewSet ViewSet 继承自 APIView。你可以使用任何标准属性,如 permission_classes, authentication_classes 以便控制视图集上的 API策略。 ViewSet 类不提供任何操作的实现。为了使用ViewSet 类,你将重写该类并显式地定义动作实...