您的位置:首页 > 编程语言 > Go语言

Django Rest Framework 电商项目 8-1 ViewSets实现商品详情页

2019-02-16 16:40 567 查看

回顾商品列表页,我们继承了mixins.ListModelMixin和viewsets.GenericViewSet,为什么会是列表呢?主要是因为继承了ListModelMixin。为了实现详情页,我们只需要再继承一个类:

[code]mixins.RetrieveModelMixin

这样就完成了!

但是,serializer是需要变化的,因为详情页的轮播图是外键。只需要在serializers.py中:

[code]from goods.models import GoodsImage
[code]class GoodsImageSerializer(serializers.ModelSerializer):
class Meta:
model = GoodsImage
fields = ("image", )

并在GoodsSerializer中实例它:

[code]images = GoodsImageSerializer(many=True)  # 名字和model设计时的参数related_name有关
# many=True不可少

这个时候访问列表页,然后在url后面加上商品id,我们就能看到某一条的详细信息了。在上述操作之前进行单条信息的查询是会报404的。

后端成功显示以后,我们再到前端去看一看,在create中,前端会接收商品的id,然后进行调用。在api.js中,将商品详情的host改为:

[code]local_host

再进行测试。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: