【Django系列】三:Django搭建一個個人博客流程(分頁和博客的歸檔)

第三天:

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

    

    

 

    今天我們做了歸檔和分頁的功能,碰到問題,大家可以留言。。。明天繼續。。

   

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章