学习
实践
活动
专区
工具
TVP
写文章

使用django-tables2展示表格

前言

django-tables2是一个非常不错的App,可以使用各种数据元、默认支持bootstrap等三种页面风格、可以分页、排序、自定义列等等。最近我这边一个项目中的Table展示,几乎都快改成用这个App实现了。

这么好用的组件,Baidu出来的资料非常少,使用过程都只好翻文档+stackoverflow研究。这里也仅把我用到的一些用法,简单总结一下。更多内容,可以查看:

github地址:https://github.com/jieter/django-tables2/

doc文档地址:http://django-tables2.readthedocs.io/en/latest/

使用环境

Django1.11.11

安装配置:

pip install django-tables2

在settings.py中

使用(我承认我偷懒了,项目代码没在身边,所以部分演示代码来自doc文档,缺失部分请自行脑补)

假设我们已经有了Person的Model,创建一个table.py的文件:

view.py中

template中

按照上面步骤,我们可以看到页面可以正常展示表格了,但是使用中,我们还需要下面的要点干货(敲黑板)

1. 如何自定义按钮,并传参数

2. 如何自定义CheckBox,加上选择行的效果,下面代码注释的方法一。通过thinput方式,还能根据表头和表内容,分别定义checkbox的类。这个可以和我上面一篇文章使用Javascript实现table表格的全选/反选功能结合起来了。

3. 分页

在view的people中加入RequestConfig行即可。

4. 如何与Django-Filters结合

仍在在view的people中,PersonTable的参数传入filter.qs,这样既能查询,也能分页。

5. 如果还不能满足需求的终极大招

放心大胆的去改自带模板吧,模板位于django_tables2/templates/django_tables2。

无图无真相,最后上效果图:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180601G0TMQH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券