首页 > 解决方案 > Django/jQuery Datatables 访问数据表参数

问题描述

我一直在使用 jQuery dataTables,我曾经访问过 dataTable 信息。这次决定在开头和结尾加分页,python报这个错误。如何访问 dict 的第一个元素?也许通过使用其他方法?

django.utils.datastructures.MultiValueDictKeyError: 'iDisplayStart'

我的观点

@csrf_exempt
def lexeme_to_json(request):
    query = request.session.get('queryset')
    search = request.GET.get('sSearch', '')
    sort_by = int(request.GET.get('iSortCol_0', '0'))
    asc = request.GET.get('sSortDir_0', 'asc') == 'asc'
    display_all = request.GET.get('iDisplayLength') == '-1'
    start = int(request.GET['iDisplayStart']) # crashes right here
    end = start + int(request.GET['iDisplayLength'])

JS/jQuery 数据表配置

   $('#dataTable').dataTable({
        "bJQueryUI": true,
        "dom": "<'#datatableFirstLine'<'row'<'col-lg-3'i><'col-lg-3 offset-lg-6'p>>>" +
               "<'#datatableSecondLine'<'row'<'col-lg-3'l><'col-lg-5 offset-lg-4'f>>>" +
               "<'#datatableThirdLine'<'row'<'col-lg-12'tr>>>" +
               "<'#datatableFourthLine'<'row'<'col-lg-3'i><'col-lg-3 offset-lg-6'p>>>",
        "aoColumns": [
            {"bSortable": true, "sWidth": "1%"},
            {"bSortable": true, "sWidth": "12%"},
            {"bSortable": true, "sWidth": "12%"},
            {"bSortable": true, "sWidth": "1%"},
            {"bSortable": true, "sWidth": "1%"},
            {"bSortable": true, "bSearchable": false, "sWidth": "3%"},
            {"bSortable": false, "sWidth": "7%"},
        ],
        "iDisplayLength": 100,
        "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
        "bProcessing": true,
        "bServerSide": true,
        "ajax": {
            "url": "lexeme_to_json/",
            "type": "POST"
        }
    });

标签: jquerydjangodatatables

解决方案


推荐阅读