第三天:
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值改爲:
今天我們做了歸檔和分頁的功能,碰到問題,大家可以留言。。。明天繼續。。