Python项目-添加购物车

本文介绍了如何使用Python来实现一个购物车系统,主要集中在后端的views.py文件中,讲解了添加商品到购物车的POST请求处理过程。
摘要由CSDN通过智能技术生成
在商品详情页添加购物车使用局部刷新的效果
添加购物车接口设计和定义

请求方式 : 
选项                 方案   
请求方法              POST
请求地址             /carts/

请求参数:JSON
参数名         类型        是否必传      
sku_id         int         是
count          int         是
selected       bool        否
       
响应结果:JSON
字段             说明
code            状态码
errmsg        错误信息

后端接口定义
class CartsView(View):
    """购物车管理"""
    def post(self, request):
        """添加购物车"""
        # 接收和校验参数
        # 判断用户是否登录
        user = request.user
        if user.is_authenticated:
            # 用户已登录,操作redis购物车
            pass
        else:
            # 用户未登录,操作cookie购物车
            pass
添加购物车后端逻辑实现
接收和校验参数
class CartsView(View):
    """购物车管理"""
    def post(self, request):
        """添加购物车"""
        # 接收参数
       
        # 判断参数是否齐全
        
        # 判断sku_id是否存在
        
        # 判断count是否为数字
        
        # 判断selected是否为bool值
      
        # 判断用户是否登录
        user = request.user
        if user.is_authenticated:
            # 用户已登录,操作redis购物车
            pass
        else:
            # 用户未登录,操作cookie购物车
            pass
添加购物车到Redis
class CartsView(View):
    """购物车管理"""
    def post(self, request):
        """添加购物车"""
        # 接收和校验参数
        ......
        # 判断用户是否登录
        user = request.user
        if user.is_authenticated:
            # 用户已登录,操作redis购物车
           
            # 新增购物车数据
           
            # 新增选中的状态
           
            # 执行管道
            
            # 响应结果
            return http.JsonResponse({'code': RETCODE.OK, 'errmsg': '添加购物车成功'})
        else:
            # 用户未登录,操作cookie购物车
            pass
添加购物车到cookie
class CartsView(View):
    """购物车管理"""
    def post(self, request):
        """添加购物车"""
        # 接收和校验参数
        ......
        # 判断用户是否登录
      
        else:
            # 用户未登录,操作cookie购物车
           
            # 如果用户操作过cookie购物车
           
            # 判断要加入购物车的商品是否已经在购物车中,如有相同商品,累加求和,反之,直接赋值
            
            # 将字典转成bytes,再将bytes转成base64的bytes,最后将bytes转字符串
            
            # 创建响应对象
           
            # 响应结果并将购物车数据写入到cookie

添加购物车 post
carts/views.py

class CartsView(View):
    """购物车管理"""

    def post(self, request):
        """
        1.接收参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值