会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133539个问题
JAVA 全系列/预科阶段:职业规划/学习方法/程序员的基本素养和职业规划 7592楼
JAVA 全系列/第二十一阶段:租房网(Spring Cloud最新架构)/Livegoods房屋海选平台 7595楼

屏幕截图 2025-07-22 221619.png

老师,这是哪有问题?

JAVA 全系列/第一阶段:AI驱动的JAVA编程/IDEA的使用和第一个java项目 7597楼
JAVA 全系列/第四阶段:数据库与AI协同技术实战/SQL 语言 7598楼
JAVA 全系列/第十三阶段:Spring Cloud Alibaba技术栈/分布式服务治理与配置管理-Nacos 7599楼
Python 全系列/第六阶段:数据库与AI协同技术实战/redis 7600楼

# Create your views here.
from django.views import View

from goosapp.models import Category, Goods
from django.core.paginator import Paginator


class IndexView(View):
    def get(self, request, categoryid=2, num=1):
        categoryid = int(categoryid)
        num = int(num)
        # 获得所有商品的类别信息
        categoryList = Category.objects.all().order_by('id')

        # 获得某个类别下的所有商品信息
        goosList = Goods.objects.filter(category_id=categoryid).order_by('id')

        paginatorObj = Paginator(object_list=goosList, per_page=8)
        page_goods_obj = paginatorObj.get_page(num)

        # 分页页码
        start = num - math.ceil(10 / 2)
        if start < 1:
            start = 1
        end = start + 9
        if end > paginatorObj.num_pages:
            end = paginatorObj.num_pages
        if end < 10:
            start = 1
        else:
            start = end - 9
        page_list = range(start, end + 1)

        return render(request, 'index.html',
                      {'categroyList': categoryList, 'goodsList': page_goods_obj,
                       'categoryid': categoryid, 'page_list': page_list})


def commend(func):
    def _wrapper(detailView, request, good_id, *args, **kwargs):
        c_goodsid = request.COOKIES.get('c_goodsid', '')
        # 存放用户访问过的商品列表
        goodsIdList = [id for id in c_goodsid.split() if id.strip()]

        # 存放用户访问的商品对象列表
        goodsObList = [Goods.objects.get(id=gid) for gid in goodsIdList if gid != good_id and Goods.objects.get(id=gid).category_id == Goods.objects.get(id=good_id).category_id][:4]
        if good_id in goodsIdList:
            goodsIdList.remove(good_id)
            goodsIdList.insert(0, good_id)
        else:
            goodsIdList.insert(0, good_id)

        response = func(detailView, request, good_id, recommend_list=goodsObList, *args, **kwargs)

        response.set_cookie('c_goodsid', ' '.join(goodsIdList), max_age=3 * 24 * 60 * 60)

        return response

    return _wrapper




class DetailView(View):
    @commend
    def get(self, request, good_id, recommend_list=[]):
        goodid = int(good_id)

        try:
            goods = Goods.objects.get(id=goodid)
            return render(request, 'detail.html', {'goods': goods, 'recommendli': recommend_list})
        except Goods.DoesNotExist:
            return Http404

老师,这个错误,怎么解决c50a2a2736161cc5fa72c0cb61719d0.png

Python 全系列/下架-第十二阶段:Python_大型电商项目(5天后下架)/Django项目阶段-电商项目(旧) 7602楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/变量、数据类型、运算符 7603楼
Python 全系列/第一阶段:Python入门/序列 7604楼
JAVA 全系列/第五阶段:网页编程和设计/Javascript 语言(旧) 7605楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637