在不更改的情况下对 Django 进行分页 url

Paginate Django without changing url

我的 documents_list 视图中有多个 table。他们每个人都有分页(Django 分页器),当我单击 next 按钮时,url 发生变化,table 再次隐藏。我该如何解决这个问题?

P.S: 我正在使用 Bootstrap tables,当页面初始化时所有 tables 默认隐藏,点击相应按钮后 table 正在显示。我想在更改页面时停留在当前 table。

html:

...
<div class="pagination">
<span class="step-links">
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">prev</a>
{% endif %}

<span class="current">
{{ page_obj.number }}
</span>

{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">next</a>
{% endif %}
</span>
</div>

views.py:

    ...
    claim_documents = ClaimDocument.objects.all().order_by('-created_date') 

    paginator = Paginator(claim_documents, 2)
    page = request.GET.get('page', 1)

    try:
        page_obj = paginator.page(page)
    except PageNotAnInteger:
        page_obj = paginator.page(1)
    except EmptyPage:
        page_obj = paginator.page(paginator.num_pages)

    context = {
        'page_obj': page_obj,
         ...
    }

我使用 Datatables 而不是 customizind Django 的分页。

请试试这个。这里我们使用get_page方法。

...
claim_documents = ClaimDocument.objects.all().order_by('-created_date') 

paginator = Paginator(claim_documents, 2)
page = request.GET.get('page')
paginator = Paginator(data, 10)
page_obj = paginator.get_page(page)
context = {
    'page_obj': page_obj,
     ...
}

这个可能对你有帮助。