Django框架實(shí)現(xiàn)的簡(jiǎn)單分頁(yè)功能示例
本文實(shí)例講述了Django框架實(shí)現(xiàn)的簡(jiǎn)單分頁(yè)功能。分享給大家供大家參考,具體如下:
前面一篇《Django開(kāi)發(fā)的簡(jiǎn)易留言板》寫了個(gè)簡(jiǎn)單的留言板,如果數(shù)據(jù)量太多的話在一頁(yè)顯示就不那么友好了,本文就是做一個(gè)分頁(yè)顯示。
代碼在上一篇的基礎(chǔ)上修改。
導(dǎo)入分頁(yè)模塊并修改views
#只需修改index函數(shù)即可
from django.core.paginator import Paginator
def index(request):
messages = models.Message.objects.all() #獲取全部數(shù)據(jù)
limit = 10
paginator = Paginator(messages, limit) #按每頁(yè)10條分頁(yè)
page = request.GET.get('page','1') #默認(rèn)跳轉(zhuǎn)到第一頁(yè)
result = paginator.page(page)
return render(request, 'guestbook/index.html', {'messages' : result})
修改html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>留言板</title>
<link rel="stylesheet" rel="external nofollow" crossorigin="anonymous">
</head>
<body>
<table class="table table-striped table-bordered table-hover table-condensed">
<thead>
<tr class="danger">
<th>留言時(shí)間</th>
<th>留言者</th>
<th>標(biāo)題</th>
<th>內(nèi)容</th>
</tr>
</thead>
<tbody>
{% if messages %}
{% for message in messages %}
<tr class="{% cycle 'active' 'success' 'warning' 'info' %}">
<td>{{ message.publish|date:'Y-m-d H:i:s' }}</td>
<td>{{ message.username }}</td>
<td>{{ message.title }}</td>
<td>{{ message.content }}</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td colspan="4">無(wú)數(shù)據(jù)</td>
</tr>
{% endif %}
</tbody>
</table>
<!-- 分頁(yè)開(kāi)始 -->
<div>
<ul class="pagination">
<li><a href="/guestbook/index/?page=1" rel="external nofollow" >首頁(yè)</a></li>
{% if messages.has_previous %}
<li><a href="/guestbook/index/?page={{ messages.previous_page_number }}" rel="external nofollow" >上一頁(yè)</a></li>
{% endif %}
{% for num in messages.paginator.page_range %}
<li><a href="/guestbook/index/?page={{ num }}" rel="external nofollow" >{{ num }}</a></li>
{% endfor %}
{% if messages.has_next %}
<li><a href="/guestbook/index/?page={{ messages.next_page_number }}" rel="external nofollow" >下一頁(yè)</a></li>
{% endif %}
<li><a href="/guestbook/index/?page={{ messages.paginator.num_pages }}" rel="external nofollow" >尾頁(yè)</a></li>
</ul>
</div>
<!-- 分頁(yè)結(jié)束 -->
<div>
<a class="btn btn-xs btn-primary" href="/guestbook/create/" rel="external nofollow" >去留言</a>
</div>
</body>
</html>
其實(shí)主要使用了Django自帶的Paginator模塊,關(guān)于這個(gè)模塊大家可以自己去官方文檔查看,功能還是挺強(qiáng)大的,如果配合ListView的話,三行代碼就可以實(shí)現(xiàn)分頁(yè)功能。
希望本文所述對(duì)大家基于Django框架的Python程序設(shè)計(jì)有所幫助。
- 通過(guò) Django Pagination 實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能
- Django 簡(jiǎn)單實(shí)現(xiàn)分頁(yè)與搜索功能的示例代碼
- Django實(shí)現(xiàn)網(wǎng)頁(yè)分頁(yè)功能
- Python Django實(shí)現(xiàn)layui風(fēng)格+django分頁(yè)功能的例子
- Django實(shí)現(xiàn)分頁(yè)功能
- Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法詳解
- 在django中使用自定義標(biāo)簽實(shí)現(xiàn)分頁(yè)功能
- 如何在django中實(shí)現(xiàn)分頁(yè)功能
相關(guān)文章
Flask應(yīng)用部署與多端口管理實(shí)踐全指南
在開(kāi)發(fā)和部署Web應(yīng)用時(shí),開(kāi)發(fā)者常常需要處理多端口服務(wù),防火墻配置以及生產(chǎn)環(huán)境優(yōu)化等問(wèn)題,下面小編就來(lái)和大家簡(jiǎn)單講講Flask應(yīng)用部署與多端口管理實(shí)踐的相關(guān)知識(shí)吧2025-04-04
Python實(shí)現(xiàn)冒泡排序算法的示例解析
冒泡排序(Bubble Sort)是一種簡(jiǎn)單的排序算法。本文將詳細(xì)為大家講講Python實(shí)現(xiàn)冒泡排序算法的方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06
使用Python實(shí)現(xiàn)文本英文統(tǒng)計(jì)功能
這篇文章主要為大家詳細(xì)介紹了如何使用Python來(lái)實(shí)現(xiàn)文本英文統(tǒng)計(jì),包括單詞頻率統(tǒng)計(jì)、詞匯量統(tǒng)計(jì)以及文本情感分析等,感興趣的小伙伴可以參考下2024-05-05
Python實(shí)現(xiàn)接口自動(dòng)化測(cè)試的方法詳解
Python接口自動(dòng)化測(cè)試是一種高效、可重復(fù)的軟件質(zhì)量驗(yàn)證方法,尤其在現(xiàn)代軟件開(kāi)發(fā)中,它已經(jīng)成為不可或缺的一部分,本文將深入探討如何使用Python進(jìn)行接口自動(dòng)化測(cè)試,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
Python腳本操作Excel實(shí)現(xiàn)批量替換功能
這篇文章主要介紹了Python腳本操作Excel實(shí)現(xiàn)批量替換功能,本文使用的是Openpyxl工具,通過(guò)實(shí)例截圖給大家講解的非常詳細(xì),需要的朋友可以參考下2019-11-11
解決Python運(yùn)行文件出現(xiàn)out of memory框的問(wèn)題
今天小編就為大家分享一篇解決Python運(yùn)行文件出現(xiàn)out of memory框的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
使用Python分析數(shù)據(jù)并進(jìn)行搜索引擎優(yōu)化的操作步驟
在互聯(lián)網(wǎng)時(shí)代,網(wǎng)站數(shù)據(jù)是一種寶貴的資源,可以用來(lái)分析用戶行為、市場(chǎng)趨勢(shì)、競(jìng)爭(zhēng)對(duì)手策略等,本文將介紹如何使用Python爬取網(wǎng)站數(shù)據(jù),并進(jìn)行搜索引擎優(yōu)化,,需要的朋友可以參考下2023-08-08
詳解如何在Python中替換文件路徑和要讀取的行號(hào)
這篇文章主要為大家詳細(xì)介紹了如何在Python中替換文件路徑和要讀取的行號(hào),文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2007-02-02

