使用Django怎么实现一个网页分页功能-创新互联
这期内容当中小编将会给大家带来有关使用Django怎么实现一个网页分页功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了麻城免费建站欢迎大家使用!1.创建模型,代码如下:
from django.db import models # Create your models here. class Goods(models.Model): name = models.CharField(max_length=100) des = models.CharField(max_length=1000) class Meta: db_table = 'goods'
2.向数据库中添加数据,代码如下:
from django.http import HttpResponse from .models import Goods import random # Create your views here. def index(request): for x in range(200): good = Goods(name='good%s'%x,des='该商品物美价廉,现在只需要{}元'.format(random.randint(10,100))) good.save() return HttpResponse('数据添加成功')
添加之后将代码就可以注释掉了,我们演示的时候再新建一个select接口作为演示界面。
from django.shortcuts import render from django.core.paginator import Paginator , PageNotAnInteger,EmptyPage # Create your views here. def select(request): # 查询数据库中的所有数据 good_list = Goods.objects.all() # 值1:所有的数据 # 值2:每一页的数据 # 值3:当最后一页数据少于n条,将数据并入上一页 paginator = Paginator(good_list,12,3) try: # GET请求方式,get()获取指定Key值所对应的value值 # 获取index的值,如果没有,则设置使用默认值1 num = request.GET.get('index','1') # 获取第几页 number = paginator.page(num) except PageNotAnInteger: # 如果输入的页码数不是整数,那么显示第一页数据 number = paginator.page(1) except EmptyPage: number = paginator.page(paginator.num_pages) # 将当前页页码,以及当前页数据传递到index.html return render(request,'index.html',{'page':number,'paginator':paginator})
下面我们在index.html做界面处理,这里是需要用到bootstraps,三个文件如下图所示,前面讲解过。
来到index.html文件,做如下设置:
{% load static %}淘宝 {% for good in page.object_list %}{{good.name}} - {{good.des}}
{% endfor %}
-
{# 如果当前页还有上一页 #}
{% if page.has_previous %}
- {# 点击a标签,跳转到上一页链接 ?index 为地址后面拼接的参数 #} 上一页 {% else %} {# 如果没有上一页, 则上一页按钮不可点击 #}
- 上一页 {% endif %} {% for page_number in paginator.page_range %} {# 获取当前页的页码 #} {% if page_number == page.number %} {# 如果是当前页的话,选中 #}
- {{page_number}} {% else %}
- {{page_number}} {% endif %} {% endfor %} {% if page.has_next %}
- 下一页 {% else %}
- 下一页 {% endif %}
上述就是小编为大家分享的使用Django怎么实现一个网页分页功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:使用Django怎么实现一个网页分页功能-创新互联
本文网址:http://scyanting.com/article/dehcic.html