django paginator - 如何显示所有可用的页码

don*_*yor 8 python django pagination

我有一个简单的问题:

{{ objects.paginator.num_pages }}在模板中有这个,它给了我包含项目的页面总数.

现在我想显示这样的页码

1 | 2 | 3 | 4 | 5
Run Code Online (Sandbox Code Playgroud)

要做到这一点,我需要做到forloop直到the num_pages.喜欢for i to num_pages.

怎么可能在Django模板?我正在阅读一些片段,但对我来说有点难以理解.

小智 21

使用twitter bootstrap和链接格式化:

 <ul class="pagination nav navbar-nav">
    {% if objects.has_previous %}
            <li><a href="?page={{ objects.previous_page_number }}">Prev</a></li>
    {% endif %}
    {% for page in objects.paginator.page_range %}
        <li class="{% if objects.number == page  %}active{% endif %}"><a href="?page={{page }}">{{ page }}</a></li>
    {% endfor %}

    {% if objects.has_next %}
        <li> <a href="?page={{ objects.next_page_number }}">Next</a></li>
    {% endif %}
 </ul>
Run Code Online (Sandbox Code Playgroud)


fal*_*tru 11

您可以使用 page_range

{% for page in objects.paginator.page_range %}
    {% if forloop.counter != 1 %} | {% endif %}
    {{ page }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)