企业网站设计及相关知识

1.轮播图——轮播图参数设置

2.组合搜索没整明白(解决)

models.py

class Classification(models.Model):
    name = models.CharField(verbose_name='名称', max_length=32)
    class Meta:
        db_table = 'Classification'
    def __str__(self):
        return self.name


class Price(models.Model):
    name = models.CharField(verbose_name='价格', max_length=32)
    class Meta:
        db_table = 'Price'
    def __str__(self):
        return self.name


class Goods(models.Model):
    name = models.CharField(verbose_name='标题', max_length=32)
    classification = models.ForeignKey(to='Classification',on_delete=models.CASCADE)
    price = models.ForeignKey(to='Price',on_delete=models.CASCADE)
    class Meta:
        db_table = 'Goods'
    def __str__(self):
        return self.name
urls.py

re_path('select-(?P<classification_id>\d+)-(?P<price_id>\d+).html', index.select_goods),
    path('goods.html', index.index_goods),
views.index.py

def index_goods(request):
    print(1)
    classification_list=models.Classification.objects.all()
    price_list=models.Price.objects.all()
    goods_list = models.Goods.objects.all()
    #通过变量为对方设定初值0,为下一步通过变量改变值做准备
    classification_id=0
    price_id=0
    return render(request,'goods.html',locals())

def select_goods(request,*args,**kwargs):
    print(kwargs)
    contains={}
    #注意数据类型
    classification_id=int(kwargs['classification_id'])
    price_id=int(kwargs['price_id'])
    #下面用法值得留意,遍历一个字典,k为键,v为值
    # for k,v in kwargs.items():
    #     if int(v)==0:
    #         pass
    #     else:
    #         contains[k]=v
    if classification_id==0:
        pass
    else:
        contains['classification_id']=classification_id
    if price_id==0:
        pass
    else:
        contains['price_id']=price_id

    goods_list=models.Goods.objects.filter(**contains)
    classification_list = models.Classification.objects.all()
    price_list = models.Price.objects.all()
    return render(request,'goods.html',
                  {'goods_list':goods_list,
                   'classification_list':classification_list,
                   'price_list':price_list,
                   'classification_id':classification_id,
                   'price_id':price_id})
goods.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    {% if  classification_id == 0 %}
        <a href="/select-0-{{ price_id }}.html" style="background-color: #009999;color: white">全部</a>
        {% else %}
            <a href="/select-0-{{ price_id }}.html" >全部</a>
    {% endif %}

    {% for classification in classification_list %}
        {% if  classification_id == classification.id %}
            <a href="/select-{{ classification.id }}-{{ price_id }}.html" style="background-color: #009999;color: white">{{ classification.name }}</a>
        {% else %}
            <a href="/select-{{ classification.id }}-{{ price_id }}.html" >{{ classification.name }}</a>
        {% endif %}

    {% endfor %}

</div>
<div>
    {% if price_id == 0 %}
        <a href="/select-{{ classification_id }}-0.html" style="background-color: #009999;color: white">全部</a>
        {% else %}
            <a href="/select-{{ classification_id }}-0.html" >全部</a>
    {% endif %}

    {% for price in price_list %}
        {% if price_id == price.id %}
             <a href="/select-{{ classification_id }}-{{ price.id }}.html" style="background-color: #009999;color: white">{{ price.name }}</a>
             {% else %}
                <a href="/select-{{ classification_id }}-{{ price.id }}.html">{{ price.name }}</a>
        {% endif %}

    {% endfor %}

</div>
<br>
<br>
<br>
<br>
<br>
<br>
<div>
    {% for goods in goods_list %}
        <p>{{ goods.name }}</p>
    {% endfor %}

</div>
</body>
</html>




3.瀑布流

在admin 上传图片后,理论上与static文件夹下的图片没有关系,但是修改手动修改static下的图片,不会生效,需要重新修改admin内的上传文件。这是什么玩意???

.py

from django.shortcuts import render
from app01 import models
from django.http import JsonResponse
# Create your views here.

def pubuliu(request):
    if request.method=='GET':

        return render(request,'pubuliu.html')
    if request.method=='POST':
        result={'status':True,'data':None}
        img_list = models.Image.objects.all().values('title', 'href')

        img_list = list(img_list)
        result['data']=img_list
        return JsonResponse(result)
.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/static/jquery-3.3.1.js"></script>
</head>
<style>
    #div02 {
        width: 1000px;
        margin: 0 auto; /*很神奇,上下边距为0,左右自适应(在设定宽度的情况下左右居中)*/
    }

    #item {
        width: 25%;
        float: left;
    }
    #item img{
            width: 100%;
        }
</style>
<body>
<div><h1>图片墙</h1></div>
<div id="div02">
    <div id="item"></div>
    <div id="item"></div>
    <div id="item"></div>
    <div id="item"></div>
</div>
</body>
</html>
<script>
    $(function () {
        uploadImage();
    });

    function uploadImage() {

                $.ajax({
                    url:'/pubuliu/',
                    type:'POST',
                    dataType: 'JSON',
                    success: function (arg) {

                        if (arg.status) {
                            var img_list = arg.data;
                            console.log(img_list);
                            $.each(img_list, function (k, v) {
                                var tag = document.createElement('img');
                                tag.src = '/' + v.href;
                                var label = document.createElement('label');
                                label.innerText = v.title;
                                var index = k % 4;
                                $('#div02').children().eq(index).append(tag,label);
                            })
                        }
                    }
                })

    }
</script>


猜你喜欢

转载自blog.csdn.net/wudiyunxing/article/details/80550817
今日推荐