Django ListView视图中如何设置分页合计项

**

Django ListView视图类中如何设置分页合计项

Django listview视图类非常好用,只需一些简单的设置,就可以将数据集显示到前端页面了,为程序员节省大量劳动力。
最近个人的一个项目某页面用了listview,并且分页显示了,需要在每一页下显示表列对应数据统计值。网上查来查去没看到有人介绍这方面知识,自己慢慢摸索和反复实验,总算是找到了方法,现简要记录和分享于此。
事实上,目标的实现方法很简单,就是用到listview下的 paginate_queryset 方法。具体示例如下:

class AAAListView(ListView):
    def get_context_data(self, *, object_list=None, **kwargs):
        context = super(AAAListView,self).get_context_data(**kwargs)          
        current_page = self.paginate_queryset(self.object_list,self.paginate_by)
        page_data_list = current_page[2]
        money_total = 0       
        for obj in page_data_list:
           money_total = money_total + obj.money

注意:大体思路就是先取出当前页的queryset,self.paginate_queryset()取出的是页面元组对象,其中包含了数据queryset,为第3个成员,所以要用current_page[2]这样的脚标方式取出来才能供遍历时使用。然后for循环遍历算出特定列的合计值。再将合计值变量加入context返回前端,就可以在前端进行调用了。

以上目标的实现或许还有更好的方法,欢迎大家评论时分享更好的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值