电商购物系统首页的商品分类

简介: 电商购物系统首页的商品分类

如上图对商品的一个分类实际上和省市区的分类十分类似 , 都是通过自关联的方法来实现 , 但是这里不同的是 , 涉及到外键来获取数据

首先让我们来看一下最后通过后端返回数据的形式是什么样子的

"""
        {
            1:{
                channels:[
                    {id:1 , name:手机 , url:},
                    {}
                    {}
                ],
                sub_cats:[
                    {id:500
                    name:手机通讯,
                    sub_cat:[
                        {id:520 , name:华为},
                        {},……
                    ]},
                    {}……
                ]
            },
            2:{},
            3:{},
            ……
            }
        """

也就是说我们需要设置一个大的字典 , 其中第一个键也就是上述的1 , 2 , 3… 这是所有类别的数目 , 也就是下图所展示的部分 , 如id为1所对应的数据保存在channels中的name元素也就是手机相册数码

在我们打开第一个后会展示如下图的页面其中红色框出的就是第二类元素我们将其放在sub_cats这个列表中

现在的逻辑就很清楚了 , 在这之后我们再嵌套一个列表用来保存第二类数据的子类数据

介绍完之后我们要进行第二步进行实操了

  1. 首先我们要通过channels = GoodsChannel.objects.all()获得商品分组频道的所有数据 , 然后进行循环 , 因为我们使用的是一个自关联的方法所以在拿到第一级数据的时候它的id会重复 – 第一级数据中会包含很多子数据如手机 , 相册 , 数码 , 他们的分组id设置的是相同的
categories = {}
        # 查询商品分组频道的所有数据
        channels = GoodsChannel.objects.all()
        for channel in channels:
                    group_id = channel.group_id
                    if group_id not in categories:
                        categories[group_id] = {'channels': [], 'sub_cats': []}
  1. 在设置好第一级模版之后 , 我们再添加channels中的数据
# 获得 第一级 主键的数据 , 通过第一级主键获得该类目下的分类
            category = channel.category
            categories[group_id]['channels'].append(
                {
                    'id' : category.id,
                    'name' : category.name,
                    'url' : channel.url
                }
            )
  1. 在获取第二级第三级数据和之前有一点不相同
group = models.ForeignKey(GoodsChannelGroup, verbose_name='频道组名', on_delete=models.CASCADE)
    category = models.ForeignKey(GoodsCategory, on_delete=models.CASCADE, verbose_name='顶级商品类别')
    url = models.CharField(max_length=50, verbose_name='频道页面链接')
    sequence = models.IntegerField(verbose_name='组内顺序')
  1. 在商品频道组数据库设置的过程中我们是绑定了两个外键字段category,group
    category是一个自关联的表格 , 通过这个表格我们可以获取到所有的数据
# subs通过父类别访问子类别 category 该表格设置的是一个自关联的方法 , 通过父类id获得获得表内子类数据
            category1 = category.subs.all()
            for re_category in category1:
                sub_cat = []
                categories[group_id]['sub_cats'].append(
                    {
                        'id': re_category.id,
                        'name': re_category.name,
                        'sub_cat' : sub_cat
                    }
                )
                category2 = re_category.subs.all()
                for sub_category in category2:
                    sub_cat.append(
                        {
                            'id': sub_category.id,
                            'name': sub_category.name,
                        }
                    )
        context = {'categories':categories}


目录
打赏
0
0
0
0
9
分享
相关文章
Bootstrap02 家居商城首页之最新上架&热门家具&分类页面
Bootstrap02 家居商城首页之最新上架&热门家具&分类页面
抖音商品详情API接口对电商的作用及收益
在电商快速发展的背景下,抖音作为全球领先的短视频平台,凭借其庞大的用户基础和高活跃度,通过商品详情API接口为电商行业开辟了新渠道。本文深入解析了抖音商品详情API接口的功能及其对电商的积极作用,包括商品信息实时同步、提升用户体验、精准营销、数据分析与优化等方面,展示了该接口如何帮助电商企业拓展销售渠道、优化商品策略、提升用户满意度、促进跨界合作与开发创新商业模式,为电商企业带来显著收益。同时,文章也探讨了实现这些收益的关键步骤及面临的挑战,强调了数据安全与隐私保护的重要性,以及创新和差异化竞争的必要性。
171 4
电商信息指南:API接口淘宝关键词、店铺所有商品获取
要获取淘宝关键词商品数据和店铺所有商品的API接口,需先注册淘宝开放平台账号并创建应用,获取API密钥。接着,使用密钥获取访问令牌,详细阅读API文档,构造并发送API请求,解析响应数据。特别地,使用`item_search_shop`接口可获取店铺内所有商品信息。
数据驱动电商:深度利用淘宝API接口掌握商品详情
本文探讨了如何利用淘宝API接口获取商品详情数据以助力电商决策。通过API,商家能获取商品标题、价格、库存等信息,从而进行市场分析、库存优化、定价策略制定及个性化推荐。步骤包括注册获取API权限、理解文档、构建数据收集流程、处理分析数据以及应用结果。示例代码展示了如何用Python调用API获取商品详情。善用API和数据驱动策略可在电商市场中取得优势。请注意遵循淘宝的API使用规范。
淘宝API接口实战:高效获取商品标题、分类及店铺名称
在淘宝API接口实战中,通过以下步骤高效获取商品标题、分类及店铺名称:1. 准备工作:了解淘宝开放平台文档,注册开发者账号,选择开发语言和工具。2. 获取API访问权限:申请相应权限,提供应用场景说明。3. 调用API接口:构建HTTP请求,提供必要参数。4. 解析响应数据:提取JSON数据中的所需信息。5. 数据处理和存储:进一步处理并存储数据。6. 注意事项:遵守使用规范,注意调用频率和数据安全。示例代码使用Python调用淘宝API。
|
7月前
|
商家店铺电商小程序模板源码
商家店铺电商小程序模板源码
65 5
电商购物商城项目商品表结构介绍
电商购物商城项目商品表结构介绍
淘宝商品详情数据(商品分析,竞品分析,代购商城建站与跨境电商,ERP系统商品数据选品)
淘宝商品详情数据在多个业务场景中发挥着关键作用,以下是一些主要的应用场景
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等