Skip to content

Commit c2af434

Browse files
author
yangxg
committed
Step23: simple pagination
1 parent 44551ef commit c2af434

File tree

7 files changed

+38
-24
lines changed

7 files changed

+38
-24
lines changed

.idea/.gitignore

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/HelloDjango-blog-tutorial.iml

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ tutorial 分支为项目的主分支,每一篇教程的代码都和历史提
143143
20. [开发博客文章阅读量统计功能](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/78/)
144144
21. [Django 官方推荐的姿势:类视图](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/79/)
145145
22. [在脚本中使用 ORM:Faker 批量生成测试数据](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/80/)
146+
23. [通过 Django Pagination 实现简单分页](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/81/)
146147

147148
## 公众号
148149
<p align="center">

blog/views.py

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class IndexView(ListView):
1313
model = Post
1414
template_name = 'blog/index.html'
1515
context_object_name = 'post_list'
16+
paginate_by = 10
1617

1718

1819
class CategoryView(IndexView):

templates/base.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{% load staticfiles %}
1+
{% load static %}
22
{% load blog_extras %}
33
<!DOCTYPE html>
44
<html>

templates/blog/index.html

+29-20
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,33 @@ <h1 class="entry-title">
2626
{% empty %}
2727
<div class="no-post">暂时还没有发布的文章!</div>
2828
{% endfor %}
29-
<!-- 简单分页效果
30-
<div class="pagination-simple">
31-
<a href="#">上一页</a>
32-
<span class="current">第 6 页 / 共 11 页</span>
33-
<a href="#">下一页</a>
34-
</div>
35-
-->
36-
<div class="pagination">
37-
<ul>
38-
<li><a href="">1</a></li>
39-
<li><a href="">...</a></li>
40-
<li><a href="">4</a></li>
41-
<li><a href="">5</a></li>
42-
<li class="current"><a href="">6</a></li>
43-
<li><a href="">7</a></li>
44-
<li><a href="">8</a></li>
45-
<li><a href="">...</a></li>
46-
<li><a href="">11</a></li>
47-
</ul>
48-
</div>
29+
30+
{% if is_paginated %}
31+
<div class="pagination-simple">
32+
<!-- 如果当前页还有上一页,显示一个上一页的按钮 -->
33+
{% if page_obj.has_previous %}
34+
<a href="?page={{ page_obj.previous_page_number }}">上一页</a>
35+
{% endif %}
36+
<!-- 显示当前页面信息 -->
37+
<span class="current">第 {{ page_obj.number }} 页 / 共 {{ paginator.num_pages }} 页</span>
38+
<!-- 如果当前页还有下一页,显示一个下一页的按钮 -->
39+
{% if page_obj.has_next %}
40+
<a href="?page={{ page_obj.next_page_number }}">下一页</a>
41+
{% endif %}
42+
</div>
43+
{% endif %}
44+
45+
{# <div class="pagination">#}
46+
{# <ul>#}
47+
{# <li><a href="">1</a></li>#}
48+
{# <li><a href="">...</a></li>#}
49+
{# <li><a href="">4</a></li>#}
50+
{# <li><a href="">5</a></li>#}
51+
{# <li class="current"><a href="">6</a></li>#}
52+
{# <li><a href="">7</a></li>#}
53+
{# <li><a href="">8</a></li>#}
54+
{# <li><a href="">...</a></li>#}
55+
{# <li><a href="">11</a></li>#}
56+
{# </ul>#}
57+
{# </div>#}
4958
{% endblock main %}

0 commit comments

Comments
 (0)