2013-11-03 19 views
7

号我简单的问题:Django的分页程序 - 如何显示所有可用的页面

我有这个{{ objects.paginator.num_pages }}模板,这使我的包含项目的总页数。

现在我想说明这样

1 | 2 | 3 | 4 | 5 

的页码来实现这一目标,我需要做for循环,直到the num_pages。像for i to num_pages

django模板怎么可能?我正在阅读一些片段,但对我而言有点难以理解。

+0

见https://djangosnippets.org/snippets/1357/ –

回答

11

您可以使用page_range

{% for page in objects.paginator.page_range %} 
    {% if forloop.counter != 1 %} | {% endif %} 
    {{ page }} 
{% endfor %} 
+0

是啊,感谢现在我看到这个在文档中。对不起愚蠢的问题 – doniyor

18

格式化与Twitter的引导,并与链接:

<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> 
+0

请更具描述性。 –

+1

感谢您的“主动”实施 – alejoss

+0

感谢您提供有用的代码示例。 –

相关问题