如何在 django-tables2 中使省略的分页工作

问题描述 投票:0回答:0

我正在尝试使用 django-tables2 v2.5.2 来呈现产品表。

分页正确呈现,它基本上看起来像:

['上一个',1,2,3,4,5,'...',18,'下一个']

每个按钮都是带有 href='?page=x' 的标签,单击后它会使用 page 参数更新 url,但省略号按钮('...')具有 href='#' 并且在单击时显然不执行任何操作。其他页面按钮工作正常。

你知道如何设置 django 和/或 django-tables2 来使省略分页工作吗?

我正在尝试用产品设置简单的表格。我正在使用函数视图和 RequestConfig,像这样:

views.py

def product_list(request: HttpRequest):
    all_items = Product.objects.all().order_by("-publish_date")
    product_filter = ProductFilter(request.GET, queryset=all_items)
    table = ProductTable(product_filter.qs)
    RequestConfig(request, paginate={"per_page": 5}).configure(table)
    return render(
        request, "product/product_list.html", {"table": table, "filter": product_filter}
    )

我的 tables.py 代码如下所示:

class ProductTable(tables.Table):
    image_url = ImageColumn(verbose_name="Image")
    publish_date = tables.DateColumn(format="d M Y", order_by=["publish_date"])
    user = tables.Column(verbose_name="Verified by")
    title = tables.Column(verbose_name="Product")

    class Meta:
        model = Product
        template_name = "django_tables2/bootstrap.html"
        sequence = ("title", "producer", "user", "status", "publish_date", "image_url")
        exclude = ("id", "image_url")
        filterset_class = ProductFilter

我试着阅读 django-tables2 和 django 框架的文档,但我想我一定遗漏了一些东西。

我期待分页中的省略号按钮加载缺失的页面范围,所以我想它需要将 href 设置为除“#”之外的其他内容。

django django-tables2
© www.soinside.com 2019 - 2024. All rights reserved.