如何在 Django 模板中显示分页?
How do I make my pagination show in Django template?
大家好。我想为我的主页添加分页 ('index.html')。我按照 Django 的文档进行分页,但我添加了 Bootstrap 的分页以提供漂亮的外观。
但是,它确实显示在我的主页上。
这里是 index.html 代码
<div class="row">
<div class="col-md-12">
{% if post.has_other_pages %}
<ul class="pagination">
{% if post.has_previous%}
<li class="page-item">
<a href="?page={{post.previous_page_number}}" class="page-link">«
</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link">«</a>
</li>
{% endif %}
{% for i in post.paginator.page_range %}
{% if post.number == i %}
<li class="page-item active">
<a class="page-link">{{i}}</a>
</li>
{% else %}
<li class="page-item">
<a href="?page={{i}}"class="page-link">{{i}}</a>
</li>
{% endif %}
{% endfor %}
{% if post.has_next%}
<li class="page-item">
<a href="?page={{post.next_page_number}}" class="page-link">»
</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link">»</a>
</li>
{% endif %}
</ul>
{% endif %}
</div>
</div>
这是包含分页的部分。
这是我的 views.index
def index(request):
post = Post.objects.all()
paginator = Paginator(post, 3)
page = request.GET.get('page')
page_post = paginator.get_page(page)
context = {
'post': page_post
}
return render(request, 'blog/index.html', context)
请问我做错了什么?
你没有做错。但 bootstrap 仅供查看。所以发送所有业务内容是一个很好的做法,可以是分页或任何东西,它应该来自服务器。在我的建议中,最好使用 django 分页。
如果您有大量数据,您的应用程序在呈现如此大的数据时会变慢。
我通过从后端发布大约 6 篇文章而不是三篇(我最初有)来解决这个问题,因为我想每页只显示 3 篇文章。再次保存它和 运行 我的服务器时,分页有效。
大家好。我想为我的主页添加分页 ('index.html')。我按照 Django 的文档进行分页,但我添加了 Bootstrap 的分页以提供漂亮的外观。
但是,它确实显示在我的主页上。
这里是 index.html 代码
<div class="row">
<div class="col-md-12">
{% if post.has_other_pages %}
<ul class="pagination">
{% if post.has_previous%}
<li class="page-item">
<a href="?page={{post.previous_page_number}}" class="page-link">«
</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link">«</a>
</li>
{% endif %}
{% for i in post.paginator.page_range %}
{% if post.number == i %}
<li class="page-item active">
<a class="page-link">{{i}}</a>
</li>
{% else %}
<li class="page-item">
<a href="?page={{i}}"class="page-link">{{i}}</a>
</li>
{% endif %}
{% endfor %}
{% if post.has_next%}
<li class="page-item">
<a href="?page={{post.next_page_number}}" class="page-link">»
</a>
</li>
{% else %}
<li class="page-item disabled">
<a class="page-link">»</a>
</li>
{% endif %}
</ul>
{% endif %}
</div>
</div>
这是包含分页的部分。 这是我的 views.index
def index(request):
post = Post.objects.all()
paginator = Paginator(post, 3)
page = request.GET.get('page')
page_post = paginator.get_page(page)
context = {
'post': page_post
}
return render(request, 'blog/index.html', context)
请问我做错了什么?
你没有做错。但 bootstrap 仅供查看。所以发送所有业务内容是一个很好的做法,可以是分页或任何东西,它应该来自服务器。在我的建议中,最好使用 django 分页。 如果您有大量数据,您的应用程序在呈现如此大的数据时会变慢。
我通过从后端发布大约 6 篇文章而不是三篇(我最初有)来解决这个问题,因为我想每页只显示 3 篇文章。再次保存它和 运行 我的服务器时,分页有效。