欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue + Django 2.0.6 学习笔记 8.1 商品详情页的API接口

程序员文章站 2022-07-14 22:29:59
...

第一步:

# 在GoodsListViewset中添加一个RetrieveModelMixin继承类

class GoodsListViewset(mixins.ListModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet):

urls.py中不用去动它

第二步  建立商品图片的Serializer

# goods.py / serializers.py / GoodsImageSerializer

class GoodsImageSerializer(serializers.ModelSerializer):
    class Meta:
        model = GoodsImage
        fields = ('image',)

第三步 将图片的Serializer嵌套到GoodsSerializer中

class GoodsSerializer(serializers.ModelSerializer):
    # 嵌套序列化 外键
    category = CategorySerializer()
    # 这里 添加images字段关联过去  many表示此字段会关联到多个图片字段数据(1对多)
    images = GoodsImageSerializer(many = True)
    class Meta:
        model = Goods
        fields = "__all__"

这样就可以了 

数据显示:

Vue + Django 2.0.6 学习笔记 8.1 商品详情页的API接口

vue中需要把全局地址变量改成local_host

// src/api/api.js


//商品详情
export const getGoodsDetail = goodId => {
  return axios.get(`${local_host}/goods/${goodId}` + '/')
}

完结