- <>
安装
django-datatables-view
pip安装django-datatables-view
前端配置js部分
$ (' # mytable) .DataTable ({
,,“分页”:真的,
,,“lengthChange”:真的,
,,“搜索”:真的,
,,“命令”:真的,
,,“信息”:真的,
,,“autoWidth”:真的,
,,50100年“lengthMenu”:[[20日,1],[20,50100,“所有”]],
,,:“sPaginationType full_numbers”,
,,“bProcessing”:真的,//开启读取服务器数据时显示正在加载中……特别是大数据量的时候,开启此功能比较好
,,“bServerSide”:真的,//开启服务器模式,
,,:“sAjaxSource {% url的proxy_list_json %} ",//给服务器发请求的url
,李});
> <李>django后台响应部分从django_datatables_view
。base_datatable_view进口BaseDatatableView
def proxyAdmin(点播):
,,#行=Proxy.objects.all () (100):
,,返回render_to_response(数据/proxyadmin.html)
类ProxyListJson (BaseDatatableView):
,,#模型我们将展示
,,代理模型=#要分页的类
,,#定义的列将返回
,,列=(“知识产权”、“描述”,“分”,“logdate”】#需要显示的字段
,,#定义列名,将用于排序的
,,#顺序是一样重要的,应该顺序列
,,#在datatable中显示。非可排序的列使用空
,,#价值像”
,,order_columns=(“知识产权”、“描述”,“分”,“logdate”】#排序
,,#设置最大限制返回的记录,这是用来保护我们的网站如果有人试图攻击我们的网站
,,#,让它返回大量的数据
,,max_display_length=500
,,def render_column(自我,行、列):
,,,,,,返回超级(ProxyListJson自我)。render_column(行、列)
,,def filter_queryset(自我,qs):
,,,,#使用GET请求中传递的参数来过滤queryset
,,,,qs_params=没有
,,,,搜索=self.request.GET。得到(u 'sSearch ',没有)
,,,,如果搜索:#模糊搜索
,,,,,,=(ip__contains=搜索)| q (description__contains=搜索)
,,,,,,qs_params=qs_params |如果其他qs_params q
,,,,,
,,,,,,q=qs.filter (qs_params)
,,,,李返回qs
> <李>url配置
url (r ' ^ paging_proxy/$’, ProxyListJson.as_view ()、name=' proxy_list_json '),