第三天:

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值改为:

    

    

 

    今天我们做了归档和分页的功能,碰到问题,大家可以留言。。。明天继续。。