将分页扩展到上一页、当前页和下一页(Django)之外

将分页扩展到上一页、当前页和下一页(Django)之外,django,pagination,Django,Pagination,我在我的Django项目中使用分页,它都能正常工作,但我不知道如何将我的范围扩展到当前页面的+/-一页之外。目前,我的html如下所示: <div class="pagination pagination-centered"> <ul> {% if title.has_previous %} <li><a href="?q={{ query }}&page={{ title.previous_page_number }}">

我在我的Django项目中使用分页,它都能正常工作,但我不知道如何将我的范围扩展到当前页面的+/-一页之外。目前,我的html如下所示:

    <div class="pagination pagination-centered">
 <ul>
{% if title.has_previous %}
   <li><a href="?q={{ query }}&page={{ title.previous_page_number }}">«</a></li>
   <li><a href="?q={{ query }}&page={{ title.previous_page_number }}">{{ title.previous_page_number }}</a></li>
{% endif %}
   <li class="active"><a href="?q={{ query }}&page={{ title.number }}">{{ title.number }}</a></li>
{% if title.has_next %}
  <li><a href="?q={{ query }}&page={{ title.next_page_number }}">{{ title.next_page_number }}</a></li>
  <li><a href="?q={{ query }}&page={{ title.next_page_number }}">»</a></li>
{% endif %}
 </ul>
</div>

    {%如果title.has_previous%}
  • {%endif%}
  • {%如果title.has_next%}
  • {%endif%}
如果您在第二页,这将导致类似[]的结果。我想通过一两个步骤来扩大范围。所以如果我在第三页,我可以从1-5一直到

{# Create A Button Group that contains possible pages to navigate to #}

{% for page in paginator.page_range %}
    {% if page < toolbar_max and page > toolbar_min and page != results.number %}
        <button formaction="{% url 'volume:page' page=page %}">{{ page }}</button>
    {% elif page == results.number %}
        <button type="submit" formaction="{% url 'volumes:page' page=page %}">{{ page }}</button>
    {% endif %}
{% endfor %}

因此,它将在您当前使用的数字的每一侧显示4。“结果”是我的一个查询,它显示了我所在的当前页面。我想用一个不同的css类突出显示该页面,并让它知道它应该在计算变量。

非常感谢您的帮助!这正是我想要的。
# Variables to be passed for page menu
toolbar_max = results.number + 4
toolbar_min = results.number -4