第三天:
21:分页功能的实现:
现在我们的博客可能只有几篇文章,因此可以全部在首页展示出来,随着博客数量的增加,当达到几十上百篇时,全部展现在首页是不显示也是不友好的,这个时候我们就需要对博客进行分页了。django有它自带的分页功能:Paginator。不过我们用在它基础上开发的另一个包:django-pure-pagination。。
下载地址:https://github.com/jamespacileo/django-pure-pagination
也可以直接用pip进行安装。。安装命令 pip install django-pure-pagination
22:在blog下的setting.py 文件中做一下修改:
①:将刚才安装的包添加到应用中

②:然后在setting.py文件的末尾添加:

23:修改视图函数(在myblog文件下的views.py中),修改内容如下:

前面的一些内容我没截屏。所以不敢以为我删了。。
24:前端的修改:

其次,将index.html下的分页展示的内容换为以下的内容,修改过的index.html页面我放在了所给资源的tempaltes文件夹下。名字叫“第三次修改index”。将其拷到本项目的templates下,修改名字覆盖当前的index.html
<!--分页展示-->
<nav class="pagination">
<div class="pageturn">
<ul class="pagelist">
{% if all_blog.has_previous %}
<li class="long"><a href="?{{ all_blog.previous_page_number.querystring }}">上一页</a></li>
{% endif %}
{% for page in all_blog.pages %}
{% if page %}
{% ifequal page all_blog.number %}
<li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li>
{% else %}
<li><a href="?{{ page.querystring }}" class="page">{{ page }}</a></li>
{% endifequal %}
{% else %}
<li class="none"><a href="">...</a></li>
{% endif %}
{% endfor %}
{% if all_blog.has_next %}
<li class="long"><a href="?{{ all_blog.next_page_number.querystring }}">下一页</a></li>
{% endif %}
</ul>
</div>
</nav>
25:为了体验分页,我写了6篇博客。。看到分页咯

26:我们再实现一个功能:通过regroup实现博客的归档
将所给资源中的archive.html拷贝到我们的templates中
27:编写视图函数,在myblog目录下的views.py文件中添加以下内容:

28:配置url地址 在blog目录下的urls.py中添加:

29:直接访问:http://127.0.0.1:8000/archive/ 就可以看到:

30:我们现在做一件比较重要的事情: 给头部的“首页”,“归档”等设置相对应的链接。点击可以转换到对应的界面。
打开templates下的base.html文档 。分别找到首页,归档的位置,将href值改为:


今天我们做了归档和分页的功能,碰到问题,大家可以留言。。。明天继续。。
本文介绍了如何使用 Django 的第三方库 django-pure-pagination 实现博客文章的分页功能,并通过 regroup 实现博客归档。此外,还展示了如何在前端展示分页与归档效果。
&spm=1001.2101.3001.5002&articleId=88818637&d=1&t=3&u=6643d4523fbd4fb8a924b40a2dbaeb23)

被折叠的 条评论
为什么被折叠?



