Datables服务端分页forDJango-创新互联

  1. 安装

    成都创新互联公司-专业网站定制、快速模板网站建设、高性价比嵊泗网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式嵊泗网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖嵊泗地区。费用合理售后完善,10年实体公司更值得信赖。

    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'),

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:Datables服务端分页forDJango-创新互联
链接分享:http://hbruida.cn/article/cospei.html