vue+后端

发布于:2025-08-15 ⋅ 阅读:(20) ⋅ 点赞:(0)

django后端DRF(增删改查,三种方式,集成度越来越大)

安装DRF继承库:

pip install djangorestframework

在app中建立一个serializers.py文件作为继承类的文件。并在setting中添加这个项目。

# serializers.py

from rest_framework import serializers
from movie.models import Movie, Category


class MovieSerializer(serializers.ModelSerializer):
    
    class Meta:
        model = Movie
        fields = '__all__'


class CategorySerializer(serializers.ModelSerializer):
    
    class Meta:
        model = Category
        fields = '__all__'

基于类views的扩展

例子一(其他可进入类中查看方法,选择需要的类继承,做增删改查)

# view中创建这个目录返回类,利用get请求

class MovieDetail(APIView):
    def get(self,request,pk):
        try:
            movie = Movie.objects.get(pk=pk)
        except:
            raise Http404
        serializer = MovieDetailSerializer(movie)
        return Response(serializer.data)
    # 修改信息
    def put(self, request, pk):
        try:
            movie = Movie.objects.get(pk=pk)
        except:
            raise Http404

        serializer = MovieDetailSerializer(movie,data=request.data, partial=True)
        if serializer.is_valid():
            serializer.save        
            return Response(serializer.data, status=status.HTTP_202_ACCEPTED)
        return Response(serializer.data, status=status.HTTP_400_BAD_ACCEPTED)
    # 删除数据    
    def delete(self, request, pk):
        try:
            movie = Movie.objects.get(pk=pk)
        except:
            raise Http404
        movie.delete()
        return Response(status=status.HTTP_204_BAD_ACCEPTED)

# urls.py

    path('<int:pk>',views.MovieDetail.as_view(), name=''detail)

基于class(增删改查进一步集成)

用其他基层也是点击父类查看

mixins.py

例子1增删改查

# 例子1
class MovieDatail(mixins.RetrieveModelMixin,
                  mixins.UpdateModelMixin,
                  mixins.DestroyModelMixin,
                  generics.GenericAPIView):
    
    # 在类中必须要继承的的数据
    # 数据
    qu

网站公告

今日签到

点亮在社区的每一天
去签到