2017-10-11 3 views
0

Django Rest Framework의 json 페이로드를 DataTable에 표시 할 수없고 이유가 확실하지 않습니다. json 페이로드 형식을 더 잘 지정하기 위해 serializer를 덮어 썼습니다.하지만 여전히 작동하지 않습니다.DataTables Django Rest Framework JSON

{"data":[ 
    {"product_name":"123", 
    "mdr_class":1, 
    "category":1, 
    "eo_role":1, 
    "division":1, 
    "created_by":"root"} 
    {"product_name":"1234", 
    "mdr_class":1, 
    "category":1, 
    "eo_role":1, 
    "division":1, 
    "created_by":"root"} 
    ... 
    ]} 
: 테이블이 여기에 "No data to display"

을 말한다 그러나

내가 JSON 요청을 발사하고 다시 적절한 정보를 얻을 수 있는지 확인할 수 있습니다 (브라우저의 콘솔에서 볼 수있는 것은) 내 JSON 페이로드입니다

JSON의 만일 Singleline :

{"data":[{"product_name":"123","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"1234","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"234234","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432134","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432134","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"},{"product_name":"432134","mdr_class":1,"category":1,"eo_role":1,"division":1,"created_by":"root"}]} 

및 설명 AJAX 호출 내 HTML 파일.

<table id="example" class="display"> 
<thead> 
    <tr> 
     <th>Product Name</th> 
     <th>MDR Class</th> 
     <th>Category</th> 
     <th>EO Role</th> 
     <th>Division</th> 
     <th>Created By</th> 
    </tr> 
<thead> 
<tbody> 
    <tr> 
     <td>1</td> 
     <td>2</td> 
     <td>3</td> 
     <td>4</td> 
     <td>5</td> 
     <td>6</td> 
    </tr> 
</tbody> 
<tfoot> 
    <tr> 
     <th>Product Name</th> 
     <th>MDR Class</th> 
     <th>Category</th> 
     <th>EO Role</th> 
     <th>Division</th> 
     <th>Created By</th> 
    </tr> 
<tfoot> 
</table> 

<script> 
$(document).ready(function() { 
    $('#example').DataTable({ 

     ajax: { 
     "processing":true, 
     url: 'http://localhost:8000/api/entry/?format=json', 
     "dataSrc":"", 
     }, 


     columns: [ 
      {"mData":"product_name"}, 
      {"mData":"mdr_class"}, 
      {"mData":"category"}, 
      {"mData":"eo_role"}, 
      {"mData":"division"}, 
      {"mData":"created_by"}, 
      ] 
     }); 


}); 

</script> 

다시 콘솔에서 json을 볼 수 있지만 데이터가 표시되지 않습니다. json이 DataTable에 제공되는 방식을 수정해야합니까? 나 엄청 혼란스러워.

답변

0

알아 냈습니다. 스크립트의 형식이 잘못되었습니다. 다음은 작업 스크립트입니다.

$(document).ready(function() { 
    $('#example').dataTable({ 

     ajax: { 
     url: 'http://localhost:8000/api/entry/?format=json', 
     }, 


     columns: [ 
      {data:"product_name"}, 
      {data:"mdr_class"}, 
      {data:"category"}, 
      {data:"eo_role"}, 
      {data:"division"}, 
      {data:"created_by"}, 
      ] 
     }); 


});