我有一个简单的问题:
我在模板中有{{ objects.paginator.num_pages }}
,它为我提供了包含项目的总页数。
现在我想显示像这样的页码
1 | 2 | 3 | 4 | 5
要实现这一目标,我需要制作forloop直到the num_pages
。比如for i to num_pages
。
在django模板中怎么可能?我正在阅读一些片段,但对我来说有点难以理解。
答案 0 :(得分: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>
答案 1 :(得分:11)
您可以使用page_range
{% for page in objects.paginator.page_range %}
{% if forloop.counter != 1 %} | {% endif %}
{{ page }}
{% endfor %}