前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >django给app返回接口列表, 流式分页

django给app返回接口列表, 流式分页

作者头像
Wyc
发布2020-01-02 16:23:25
8470
发布2020-01-02 16:23:25
举报
文章被收录于专栏:Python研发Python研发
代码语言:javascript
复制
# -*- coding: utf-8 -*-
__author__ = 'YongCong Wu'
# @Time    : 2019/12/30 12:45
# @Email   :  : 1922878025@qq.com



class Pagenation(object):

    def __init__(self,data_list,page,per_data_num = 10):
        '''
        初始化
        :param data_list: 所有数据列表
        :param page: 当前要查看的列表页
        :param per_data_num: 每页默认要显示几条
        '''
        self.data_list = data_list
        self.page = page
        self.per_data_num = per_data_num

    @property
    def start(self):
        '''
        计算引索的起始位置
        :return:
        '''
        return (self.page - 1) * self.per_data_num

    @property
    def end(self):
        '''
        计算引索的结束位置
        :return:
        '''
        return self.page * self.per_data_num

    def show(self):
        '''
        切片取数据,展示对应分页的结果
        :return:
        '''
        result = self.data_list[self.start:self.end]
        data = []
        for row in result:
            data.append(row)
        return data
代码语言:javascript
复制
def articleNews(request, question_id):
    result = {}
    data = []
    print(question_id)
    content_list = models.AriticeModel.objects.all()
    for i in content_list:
        data_dict = {}
        data_dict['image'] = i.img_url
        data_dict['id'] = i.id
        data_dict['post_title'] = i.title
        data_dict['post_like'] = 525
        data_dict['category_name'] = i.aritice_gjz
        data.append(data_dict)

    obj = pagetion.Pagenation(data, question_id)
    result['data'] = obj.show()
    result['code'] = 200
    return JsonResponse(result)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档