python全栈生鲜电商_Django REST framework+Vue 打造生鲜电商项目(笔记十)

本文讲述了如何使用Django REST framework和Vue开发生鲜电商项目,包括首页轮播图接口、新品接口、首页商品分类显示功能的实现,以及商品点击数、收藏数、库存和销量的管理。同时,介绍了DRF的缓存和限速设置,以提升网站性能并防止爬虫压力。
摘要由CSDN通过智能技术生成

(from:https://www.cnblogs.com/derek1184405959/p/8877643.html  有修改)

十三、首页、商品数量、缓存和限速功能开发

首先把pycharm环境改成本地的,vue中local_host也改成本地

1、轮播图接口实现

(1)goods/serializer

classBannerSerializer(serializers.ModelSerializer):'''轮播图'''

classMeta:

model=Banner

fields= "__all__"

(2)goods/views.py

classBannerViewset(mixins.ListModelMixin, viewsets.GenericViewSet):"""首页轮播图"""queryset= Banner.objects.all().order_by("index")

serializer_class= BannerSerializer

(3)url

#配置首页轮播图的url

router.register(r'banners', BannerViewset, base_name="banners")

2、新品接口功能开发

在设计Goods model时候有一个字段is_new

is_new = models.BooleanField("是否新品",default=False)

实现这个接口只要在goods/filters/GoodsFilter里面添加一个过滤就可以了

classMeta:

model=Goods

fields= ['pricemin', 'pricemax','is_hot','is_new']

3、首页商品分类显示功能

首先是大类,然后里面有

商品商标(多个)

大类下的二级类

广告商品

所有商品

(1)goods/serializers.py

classBrandSerializer(serializers.ModelSerializer):'''大类下面的宣传商标'''

classMeta:

model=GoodsCategoryBrand

fields= "__all__"

classIndexCategorySerializer(serializers.ModelSerializer):#某个大类的商标,可以有多个商标,一对多的关系

brands = BrandSerializer(many=True)

# 这里容易犯的错是用goods = GoodsSerialize(),但是这是错的。# good虽然有一个外键category,但这个外键指向的是三级类,(因为商品一般都是放在第三类之下)。但是我们的GoodsCategory是一级类。 #直接反向通过外键categor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值