2
我已经实现了具有泛型ListView的分页程序。我的问题是,对于许多页面的列表,它显示所有的页码,而不是显示当前页面前后的五页。有没有简单的方法来解决这个问题?有很多页面的Django分页程序
在views.py:
class CarList(LoginRequiredMixin, ListView):
model = Car
paginate_by = 20
在HTML
:
{% if is_paginated %}
<ul class="pagination pagination-centered">
{% if page_obj.has_previous %}
<li><a href="/car?ordering={{ current_order }}&page=1"><<</a></li>
<li><a href="/car?ordering={{ current_order }}&page={{ page_obj.previous_page_number }}"><</a></li>
{% endif %}
{% for i in paginator.page_range %}
<li {% if page_obj.number == i %} class="active" {% endif %}><a href="/car?ordering={{ current_order }}&page={{i}}">{{i}}</a></li>
{% endfor %}
{% if page_obj.has_next %}
<li><a href="/car?ordering={{ current_order }}&page={{ page_obj.next_page_number }}">></a></li>
<li><a href="/car?ordering={{ current_order }}&page={{ page_obj.paginator.num_pages }}">>></a></li>
{% endif %}
</ul>
{% endif %}
谢谢!它工作,如果elif页> num_pages - 6:#情况4更改为如果elif page_no> num_pages - 6:#情况4 – Wessi
啊是的,我的坏,编辑我的答案纠正错误。 – rafalmp