Vue的分页

Vue分页+django


views.py

from django.core.paginator import Paginator
class GetNewslist(APIView):
    def get(self,request):
        mess=Message1.objects.filter().all()
        page_count=2
        pag=Paginator(mess,page_count)
        try:
            p=int(request.GET.get('p'))
        except:
            p=1
        messlist=pag.get_page(p)
        m=Message1ModelSerializer(messlist,many=True)
        res={}
        res['code']=200
        res['newslist']=m.data
        res['cpage']=p
        res['tpage']=pag.num_pages
        return Response(res)

show.vue 注意:引入三个插件

import ‘…/…/static/js/jquery-1.12.4.min.js’
import ‘…/…/static/js/jquery.pagination.min.js’

<template>
    <div id='newslist'>
        <link rel="stylesheet" type="text/css" href="../../static/css/jquery.pagination.css">
            <table border="1">
                <tr>
                    <td>id</td>
                    <td>标题</td>
                    <td>内容</td>
                    <td>作者</td>
                </tr>
                <tr v-for="i in newslist">
                    <td>{{i.id}}</td>
                    <td>{{i.title}}</td>
                    <td>{{i.content}}</td>
                    <td>{{i.author}}</td>
                </tr>
            </table>
            <div id="pagination"></div>
    </div>
</template>
<script>
import '../../static/js/jquery-1.12.4.min.js'
import '../../static/js/jquery.pagination.min.js'
export default {
    name:'newslist',
    data:function(){
        return{
            newslist:[]
        }
    },
    mounted(){
        this.getNewlist(1)
    },
    methods:{
        getNewlist:function(p){
            this.axios({
                url:'/api/getNewslist?p='+p+'&token='+localStorage.getItem('token'),
                method:'get',
            }).then((res)=>{
                this.newslist = res.data.newslist
                this.page(res.data.cpage,res.data.tpage)
            })
        },
        page:function(cpage,tpage){
            var _this=this
            $("#pagination").pagination({
                currentPage:cpage,
                totalPage:tpage,
                callback:function(current){
                    _this.getNewlist(current)
                }
            })
        }
            
    }
}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值