Datables 服务端分页for DJango

  1. 安装

    django-datatables-view

    pip install django-datatables-view

  2. 前端配置-JS部分

    $(‘#mytable‘).DataTable({

    "paging": true,

    "lengthChange": true,

    "searching": true,

    "ordering": true,

    "info": true,

    "autoWidth": true,

    "lengthMenu": [[20,50,100, -1], [20,50,100, "All"]],

    "sPaginationType": "full_numbers",

    "bProcessing": true, //开启读取服务器数据时显示正在加载中……特别是大数据量的时候,开启此功能比较好

    "bServerSide": true, //开启服务器模式

    "sAjaxSource": "{% url ‘proxy_list_json‘ %}", //给服务器发请求的url

    });

  3. django 后台响应部分

    from django_datatables_view.base_datatable_view import BaseDatatableView

    def proxyAdmin(req):

    #rows=Proxy.objects.all()[:100]

    return render_to_response(‘data/proxyadmin.html‘)

    class ProxyListJson(BaseDatatableView):

    # The model we‘re going to show

    model = Proxy #要分页的类

    # define the columns that will be returned

    columns = [‘ip‘, ‘description‘, ‘score‘, ‘logdate‘] #需要显示的字段

    # define column names that will be used in sorting

    # order is important and should be same as order of columns

    # displayed by datatables. For non sortable columns use empty

    # value like ‘‘

    order_columns = [‘ip‘,‘description‘, ‘score‘, ‘logdate‘] #排序

    # set max limit of records returned, this is used to protect our site if someone tries to attack our site

    # and make it return huge amount of data

    max_display_length = 500

    def render_column(self, row, column):

    return super(ProxyListJson, self).render_column(row, column)

    def filter_queryset(self, qs):

    # use parameters passed in GET request to filter queryset

    qs_params = None

    search = self.request.GET.get(u‘sSearch‘, None)

    if search: #模糊搜索

    q = Q(ip__contains=search)|Q(description__contains=search)

    qs_params = qs_params | q if qs_params else q

    qs = qs.filter(qs_params)

    return qs

  4. URLS配置

    url(r‘^paging_proxy/$‘, ProxyListJson.as_view(), name=‘proxy_list_json‘),

时间: 2024-10-11 22:41:11

Datables 服务端分页for DJango的相关文章

BootStrap-table 客户端分页和服务端分页的区别

当服务器没有对数据进行分页时,前端页面设计又要求进行分页,要分开来设置. 服务端分页: responseHandler: function(data){ return data.response; }, 客户端分页,需要指定到rows: sidePagination : "client", responseHandler: function(data){ return data.response.rows; },

Bootstrap-table服务端分页

bootstarp-table服务端分页 $('#test-table').bootstrapTable({ //请求方法 method: 'get', //是否显示行间隔色 striped: true, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) cache: false, //是否显示分页(*) pagination: true, //是否启用排序 sortable: false, //排序方式 sortOrder: "asc", //初始化加载第一

bootstrap table 服务端分页

前端js $(function () { //$('#MDTable').bootstrapTable('destroy'); $("#MDTable").bootstrapTable({ //'destroy' 是必须要加的==作用是加载服务器数据,初始化表格的内容Destroy the bootstrap table. toolbar: '#toolbar', //工具按钮用哪个容器 method: 'get', url: "/MD_All/MD_Data",

项目实战之服务端分页的实现——SQL

服务端的分页就一个SQL语句就可以搞定,贴出代码后自己慢慢欣赏: CREATE Procedure AppGetEmpList @EID int, @LGID int, @pagesize int, @pageindex int As Begin select count(*) count from appemployee Select a.ID,a.EID,Case When @LGID=2052 Then Name Else eName End Name,DepTitle,JobTitle

ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项

引言: 本人想自己个博客网站出来,技术路线是用ASN.NET MVC5+EF6(Code First)+ZUI+各种Jquery插件,有了这个想法之后就开始选择UI,看了好多bootstrap的模板之后,发现即使你用了bootstrap还是要自己写css样式,都是自学的,前端真的很垃圾,在网上找了很多UI,以下是各种UI的地址,需要的可以去看看: H-ui:http://www.h-ui.net/H-ui.admin.shtml ,是一个前端大牛弄得,模仿bootstrap,做适合中国网上的UI

bootstraptable 服务端分页问题

折腾了将近一周 终于分页好了 无语 先写下来 怕后面又忘了 前台写js时有几个点要注意: 1.contentType要设为application/x-www-form-urlencoded 2.queryParamsType设为''(为了方便,前台直接传pagesize就好) 1 $('#tablelist').bootstrapTable({ 2 url: url 3 method:'post', 4 toolbar: '#toolbar', //工具按钮用哪个容器 5 pagination:

django中“url映射规则”和“服务端响应顺序”

1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单. 查看方式: import sys print sys.path 通常无需关心 Python 搜索路径的设置,Python 和 Django 会在后台自动帮你处理好. 2.url匹配模式  基本结构: '^需要匹配的url字符串$' PS:实际上最终完整的url串是http://根路径:端口号/需要匹配的url字符串 系统自动添加的部分'http://根路径:端口号/' eg:url匹配模式:'^lates

Android ListView分页加载(服务端+android端)Demo

Android ListView分页加载功能 在实际开发中经常用到,是每个开发者必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了测试. 服务端使用MyEclipse,Android端使用Eclipse. 实现效果图: 服务端一共100条数据,共分四页,每页有25条数据. 源代码: 服务端: 需要导入图中这几个jar包. 在运行Android端代码前,需要开启服务端: 下面先给出服务端的代码: 类EmpDataSource: package com.android

LigerUI中通过加载服务端数据进行表格的分页显示

前言:我的这一篇文章是紧接着上一篇关于LigerUI的文章(http://www.zifangsky.cn/379.html)写的,因此在这里我就省略了相关的环境搭建,直接进入正题 一 介绍 在LigerUI中显示表格是用的ligerGrid,同时我们可以通过配置url参数就可以加载远程数据并显示成表格形式.不仅如此,ligerGrid还可以进行数据的排序和分页显示: (1)排序:需要用到"sortname"和"sortorder"这两个参数,分别表示按哪个字段排序