1、基于上一章节去修改
创作中心-CSDN
2、只需要修改视图类views.py
from django.shortcuts import render, HttpResponse
from rest_framework.response import Response
from rest_framework.generics import GenericAPIView
from rest_framework.mixins import (ListModelMixin,CreateModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin,
)
from .models import *
from api.serializer import *# Create your views here.class Linkapi(GenericAPIView, ListModelMixin, CreateModelMixin):queryset = Link.objects.all()serializer_class = LinkSerializer# 查看所有字段def get(self, request):# xuliehua = self.get_serializer(instance=self.get_queryset(), many=True)# return Response(xuliehua.data)return self.list(request)# 新增数据def post(self, request):# xuliehua = self.get_serializer(data=request.data)# if xuliehua.is_valid():# xuliehua.save()# return Response(xuliehua.data)# else:# return Response(xuliehua.errors)return self.create(request)# 指定一条的请求 删除 查一条、修改一条
class Linkapidetail(GenericAPIView, RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin
):queryset = Link.objects.all()serializer_class = LinkSerializer# 查询单条记录def get(self, request, pk):# xuliehua = self.get_serializer(instance=self.get_object(), many=False)# return Response(xuliehua.data)return self.retrieve(request, pk)# 更新单条数据def put(self, request, pk):# xuliehua = self.get_serializer(instance=self.get_object(), data=request.data)# if xuliehua.is_valid():# xuliehua.save()# return Response(xuliehua.data)# else:# return Response(xuliehua.errors)return self.update(request, pk)# 更新单条数据中的部分字段 ,和put方法里边内容几乎一样,除了partial=Truedef patch(self, request, pk):# xuliehua = self.get_serializer(# instance=self.get_object(), data=request.data, partial=True# )# if xuliehua.is_valid():# xuliehua.save()# return Response(xuliehua.data)# else:# return Response(xuliehua.errors)return self.update(request, pk, partial=True)def delete(self, request, pk):# self.get_object().delete()# return Response("删除成功")return self.destroy(request, pk)
3、用apifox测试正常
4、 代码下载
链接: https://pan.baidu.com/s/16zZ1HwGxckGsHyAd-gvs3g?pwd=wpx4 提取码: wpx4