请问我的django分页组件,在后端向前端传数据时,如果是列表套字典的形式就可以正常分页,我传一个二维数组的形式,分页组件就失灵了,求帮我看一下问题在哪

如题
下面这是分页组件的代码,也是在网上学的

from django.utils.safestring import mark_safe
class Pagination(object):
    def __init__(self, request, queryset, page_size=15, page_param="page", plus=5):
        from django.http.request import QueryDict
        import copy
        query_dict = copy.deepcopy(request.GET)
        query_dict._mutable = True
        self.query_dict = query_dict
        self.page_param = page_param
        page = request.GET.get(page_param, "1")
        if page.isdecimal():
            page = int(page)
        else:
            page = 1
        self.page = page
        self.page_size = page_size
        self.start = (page - 1) * page_size
        self.end = page * page_size
        self.page_queryset = queryset[self.start:self.end]
        total_count = len(queryset)
        total_page_count, div = divmod(total_count, page_size)
        if div:
            total_page_count += 1
        self.total_page_count = total_page_count
        self.plus = plus
    def html(self):
        if self.total_page_count <= 2 * self.plus + 1:
            start_page = 1
            end_page = self.total_page_count
        else:
            if self.page <= self.plus:
                start_page = 1
                end_page = 2 * self.plus + 1
            else:
                if (self.page + self.plus) > self.total_page_count:
                    start_page = self.total_page_count - 2 * self.plus
                    end_page = self.total_page_count
                else:
                    start_page = self.page - self.plus
                    end_page = self.page + self.plus
        page_str_list = []
        self.query_dict.setlist(self.page_param, [1])
        page_str_list.append('
  • 首页
  • '
    .format(self.query_dict.urlencode())) if self.page > 1: self.query_dict.setlist(self.page_param, [self.page - 1]) prev = '
  • 上一页
  • '
    .format(self.query_dict.urlencode()) else: self.query_dict.setlist(self.page_param, [1]) prev = '
  • 上一页
  • '
    .format(self.query_dict.urlencode()) page_str_list.append(prev) for i in range(start_page, end_page + 1): self.query_dict.setlist(self.page_param, [i]) if i == self.page: ele = '
  • {}
  • '
    .format(self.query_dict.urlencode(), i) else: ele = '
  • {}
  • '
    .format(self.query_dict.urlencode(), i) page_str_list.append(ele) if self.page < self.total_page_count: self.query_dict.setlist(self.page_param, [self.page + 1]) prev = '
  • 下一页
  • '
    .format(self.query_dict.urlencode()) else: self.query_dict.setlist(self.page_param, [self.total_page_count]) prev = '
  • 下一页
  • '
    .format(self.query_dict.urlencode()) page_str_list.append(prev) self.query_dict.setlist(self.page_param, [self.total_page_count]) page_str_list.append('
  • 尾页
  • '
    .format(self.query_dict.urlencode())) page_string = mark_safe("".join(page_str_list)) return page_string

    下面这个是我传二维数组的视图函数

    #小波变换
    def www(request):
        file_object = request.FILES.get("file")
        if file_object:
            data = xlrd.open_workbook(filename=None, file_contents=file_object.read())
            sheet = data.sheet_by_index(0)
            nrows = sheet.nrows
            list = []
            for i in range(1, nrows):
                list.append(np.array(sheet.row_values(i)))
            arr = np.array(list)
            p = pre()
            queryset = p.wave(arr)
            queryset = np.round(queryset,6)
            page_object = Pagination(request, queryset)  ########加这一句分页
            context = {"queryset": page_object.page_queryset,  # 分完页的数据
                       "page_string": page_object.html()  # 页码
                       }
            return render(request, 'wave2.html', context)
        return render(request,'wave.html')
    

    下面这个是对应的前端页面

    望采纳,Django分页组件需要接收一个可迭代的对象,所以传入的数据必须是一个可迭代的对象,比如列表、字典等。如果传入的是一个二维数组,则可能会导致分页组件失灵。