def goodsindex(request, pIndex): # 执行数据查询,并放置到模板中 list = Goods.objects.all() lists = Types.objects.filter(pid=0) # 判断并封装搜索条件 where = [] #定义一个用于维持搜索条件的变量 if request.GET.get('goods', '') != '': list = list.filter(goods__contains=request.GET.get('goods')) where.append('goods=' + request.GET.get('goods')) if request.GET.get('typeid', '') != '': tid = request.GET['typeid'] list = list.filter(typeid__in=Types.objects.only('id').filter( path__contains=',' + tid + ',')) where.append('typeid=' + request.GET.get('typeid')) for ob in list: ty = Types.objects.get(id=ob.typeid) ob.typename = ty.name # context = {"goodslist":list} # 传入数据和页大小来创建分页对象 p = Paginator(list, 6) # 判断页号没有值时初始化为1 if pIndex == '': pIndex = '1' print(pIndex) pIndex = int(pIndex) #类型转换int list2 = p.page(pIndex) #获取当前页数据 plist = p.page_range #获取页码信息 paths = request.path p = re.compile(r'/myadmin/goods\d+') flag = p.match(paths) if flag == None: paths = '#' #封装分页信息 context = { 'typelist': lists, 'goodslist': list2, 'plist': plist, 'pIndex': pIndex, 'where': where, 'paths': paths } return render(request, 'myadmin/goods/index.html', context)