使用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,三个文件如下图所示,前面讲解过。

使用Django怎么实现一个网页分页功能

来到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