Пример #1
0
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)