【Python web 开发】购物车功能需求分析和加入购物车功能实现

首先我们看下表设计:

我们现在要实现的功能是 加入购物车逻辑,其实加入购物车这种可以在本地实现的,不用请求服务器,但是考虑商品的时效性,用接口来做体验可能要好一些

 

我们来分析下购物车的操作体验: 回去购物车商品列表,新增商品到购物车,删除购物车记录,对应的就是mixin 的 ListModelMixin, CreateModelMixin, DestroyModelMixin 

差不多mixin的所有方法都用到,那我们没必要一个一个去继承,viewSet.ModelViewSet 已经帮我们封装好了,查看源码

 

第一步:开始写我们的viewSet

 

第二步:来写我们的serializers,serializer 是继承Modelserializers 还是继承底层的Serializer呢?

一个用户已经添加了一件商品到购物车,再次添加 不再新增,而是在原来的基础上的num +1,如果用Modelserializers  做is_validate的时候会抛异常

我们来看createModelMixin 源码

 

所以serializers 我们就继承ModelSerializers

ps: serializer 是提供验证功能的,如果不用serializers做验证,那么我们的一些验证逻辑就必须放在viewSet 里面去写,这样代码的分离性就比较差了,我们就享受不到serializer 带给我们的好处了

 

 第三步:url 的配置:

 

 

测试:

 

转载于:https://www.cnblogs.com/yuanyuan2017/p/10181355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值