python电商项目-首页广告展示

首页广告展示

实现首页轮播图广告 快讯广告 一楼(手机) 二楼(电脑数码) 三楼(家居家装)广告页面展示

{
    "index_lbt":[
        {
            "id":1, 
            "category": 1,
            "title": '美图',
            "url": 'http://www.baidu.com',
            "image": "group/M00/00/01/ADASDADA-CZXCSAasdsadada",
            "text": "",
            "sequence": 1,
            "status": 1
        },
        {
            "id":2, 
            "category": 1,
            "title": '黑色星期五',
            "url": 'http://www.baidu.com',
            "image": "group/M00/00/01/ADASDADA-CZXCSAasdsadada",
            "text": "",
            "sequence": 2,
            "status": 1
        }
    ],
    "index_kx":[
        {
            "id":5, 
            "category": 2,
            "title": 'i7顽石低至3999',
            "url": 'http://www.baidu.com',
            "image": "group/M00/00/01/ADASDADA-CZXCSAasdsadada",
            "text": "",
            "sequence": 2,
            "status": 1
        },
    ]
}
"""

分析所需要的数据结构:是一个json的格式
1.“index_lbt” 是广告类别表 tb_content_category的数据,下面的id,category,是tb_content广告内容表字段,是将轮播图里面所有的数据放在一个大列表下面,每个列表里面有字典,即json格式。后面 “index_kx” 是快讯与轮播图一样。

  1. 如何拼接成这种字典格式?查询商品类别的时候,已知道?
    我们需要查询所有的商品广告,这些数据在tb_content广告内容和广告 类别表 tb_content_category中,先查出所有广告的类别,导入modles.py中的ContentCategory,
    查询出所有广告类别: context_categroies = ContentCategory.objects.all()

tb_content_category表
在这里插入图片描述
tb_content广告内容表
在这里插入图片描述
contens/views.py

 # print(categories)
        # 查询所有的首页广告

        # 查询所有的广告类别
        context_categories = ContentCategory.objects.all()
        # print(context_categories)
        contents = {
   }

        for context_category in context_categories:
            # {'index_lbt': <QuerySet [<Content: 轮播图: 美图M8s>, <Content: 轮播图: 黑色星期五>, <Content: 轮播图: 厨卫365>, <Content: 轮播图: 君乐宝买一送一>]>,
            contents[context_category.key] = Content.objects.filter(category_id=context_category.id, status=True).all().order_by('sequence')

        print(contents)

        context = {
   
            "categories": categories,
            "contents": contents,
        }
        return render(request, 'index.html', context=context)

index.html 轮播图广告

	<ul class="slide">
            {
   % for content in contents.index_lbt %}
			<li><a href="{
   { content.url }}"><img src="http://192.168.65.145:8888/{
   { content.image }}" alt="幻灯片01"></a></li>
             {
   % endfor %}
		</ul>

index.html 快讯和页头广告

<div class="news">
			<div class="news_title">
				<h3>快讯</h3>
				<a href="#">更多 &gt;</a>
			</div>
			<ul class="news_list">
				 {
   % for content in contents.index_kx %}
                   <li><a href="{
   { content.url }}">{
   {
    content.title }}</a></li>
                {
   % endfor %}
			</ul>
			 {
   % for content in contents.index_ytgg %}
                <a href="{
   { content.url }}" class="advs"><img src="{
   { content.image }}"></a>
            {
   % endfor %}
		</div>
	</div>

index.html 楼层广告(一楼)

<div class
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值