• 【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 的配置:

    测试:

  • 相关阅读:
    C# 不用添加WebService引用,调用WebService方法
    贪心 & 动态规划
    trie树 讲解 (转载)
    poj 2151 Check the difficulty of problems (检查问题的难度)
    poj 2513 Colored Sticks 彩色棒
    poj1442 Black Box 栈和优先队列
    啦啦啦
    poj 1265 Area(pick定理)
    poj 2418 Hardwood Species (trie树)
    poj 1836 Alignment 排队
  • 原文地址:https://www.cnblogs.com/yuanyuan2017/p/10181355.html
Copyright © 2020-2023  润新知