Django分页器+bootstrap实现分页功能

效果图:

代码实现: 

      前端部分:

<!-- 文章显示部分 -->	
{%for a in page%}
		<div id="article">
			<div id="article_info_left">
				<div id="article_title" ><a href="{{a.url_1}}" style="color:black;">{{a.title_1}}</a></div>
				<div id="article_info">
				{{a.content_1}}
				</div>
				<div id="article_comment">
					<ul>
						<li><a href="javascript:void(0)" class="share"><img src="/static/images/share.png" width="15px" height="16px" style="padding-bottom:3px;"><span style="padding-left: 6px;font-size: 10px;color:#C0C0C0;">分享</span></a></li>
						<li id="li"><a href="#"><img src="/static/images/heart_2.png" width="16px" height="16px" style="padding-bottom:1px;"><span style="padding-left: 6px;font-size: 10px;color:#C0C0C0;">12{{num}}</span></a></li>
					</ul>
				</div>
			</div>
			<div id="article_info_right" >
				<div id="img">
				<img src="/static/article_img/1.png" width="200px" height="128px" style="border:1px solid #f0f0f0;margin-left: 16px;">
				</div>
			</div>
		</div>
		{% endfor %}	
<!-- 翻页部分 -->
	    <div id="page">
			<div style="margin-left:330px;float: left;">
			<ul class="pagination">
            {# 如果当前页还有上一页 #}
            {% if page.has_previous %}
            <li>
                {# 点击a标签,跳转到上一页链接 ?index  为地址后面拼接的参数 #}
                <a href="/visplat/home?p={{page.previous_page_number}}">上一页</a>
            </li>
            {% else %}
            {# 如果没有上一页, 则上一页按钮不可点击 #}
            <li >
                <a href="/visplat/home/">上一页</a>
            </li>
            {% endif %}
            <li>
                    <a>Page {{page.number}} Of {{ paginator.num_pages }}</a>
            </li>
            {% if page.has_next %}
            <li>
                <a href="/visplat/home?p={{page.next_page_number}}">下一页</a>
            </li>
            {% else %}
            <li >
                <a href="/visplat/home/">下一页</a>
            </li>
            {% endif %}
            </ul>
			</div>
           </div>

        后台:

from django.shortcuts import render
from .models import *
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage, InvalidPage#翻页模块
def Home(request):
	article=Atitle.objects.all()
	# 将数据按照规定每页显示 7 条, 进行分割
	paginator = Paginator(article, 6)
	# 获取 url 后面的 page 参数的值, 首页不显示 page 参数, 默认值是 1
	page = request.GET.get('p')
	try:
		Page = paginator.page(page)
	# todo: 注意捕获异常
	except PageNotAnInteger:
	# 如果请求的页数不是整数, 返回第一页。
		Page = paginator.page(1)
	except InvalidPage:
	# 如果请求的页数不存在, 重定向页面
		return HttpResponse('找不到页面的内容')
	except EmptyPage:
	# 如果请求的页数不在合法的页数范围内,返回结果的最后一页。
		Page = paginator.page(paginator.num_pages)
	return render(request, "home.html", {'page':Page,'paginator':paginator})

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拼命_小李

给点鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值