生の JSON を取り込み、DataTable に入力します。
問題は、ページネーションやソートなどが機能しないことです。
データベースから情報を取得するのではなく、実際には AWS からデータを取得しています。
AWS から --> キャッシュ ファイル --> JSON --> DataTables。
私のJSONは次のようになります:
{
"count": 332,
"data": [
{
"account": "NetOps",
"architecture": "x86_64",
"block_devices": [
{
"delete_on_terminate": true,
"name": "/dev/sda1",
"status": "attached",
"volume_id": "vol-secret"
}
],
"ebs_optimized": false,
"group_name": null,
"hypervisor": "xen",
"id": "i-secret",
"instance_type": "m1.small"}
]}
もちろん、実際の結果は 323 レコードを返します...
JSON Lint によると、JSON は有効な JSON です。
これが私がDataTablesに使用するものです:
<script>
$(document).ready(function() {
$('#ec2_table').DataTable({
"serverSide": true,
"ajax": '/ec2',
"columns": [
{ "data": "id" },
{ "data": "name" },
{ "data": "architecture" },
{ "data": "instance_type" },
{ "data": "image_id" },
{ "data": "platform" },
{ "data": "state" },
{ "data": "account" },
],
"lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
dom: 'T<"clear">lfrtip',
tableTools: {
"sSwfPath": "/static/js/DataTables/extensions/TableTools/swf/copy_csv_xls_pdf.swf"
}
});
});
</script>
ページネーション、列の並べ替え、検索はすべて無効です。
私のJinja/HTMLは次のようになります。
<table id="ec2_table" class="order-column display compact" cellspacing="0" width="98%">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Architecture</th>
<th>InstType</th>
<th>Image ID</th>
<th>Platform</th>
<th>State</th>
<th>Account</th>
</tr>
</thead>
</table>