728x90
반응형
Django 프레임워크를 사용해서 Datatable을 사용해야 할 일이 생겼는데
데이터를 Ajax POST Request로 받아오고자 한다면 아래와 같이 작성.
데이터는 Json 형태로 받아옴.
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function() {
$('#example').DataTable({
"ajax": {
"url": "{% url 'ajax_data' %}",
"type": "POST",
"data": function ( d ) {
d.csrfmiddlewaretoken = '{{ csrf_token }}';
return $.param( d );
}
},
"columns": [
{
"data": null,
"render": function ( data, type, row, meta ) {
return "<input type='checkbox' value='" + row.id + "' />";
}
},
{ "data": "id" },
{ "data": "name" },
{ "data": "age" },
{ "data": "email" }
]
});
});
</script>
</head>
<body>
<table id="example" class="display" style="width:100%">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>Name</th>
<th>Age</th>
<th>Email</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</body>
</html>
Django View
from django.shortcuts import render
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
def ajax_data(request):
data = [
{'id': 1, 'name': 'Alice', 'age': 25, 'email': 'alice@example.com'},
{'id': 2, 'name': 'Bob', 'age': 30, 'email': 'bob@example.com'},
{'id': 3, 'name': 'Charlie', 'age': 35, 'email': 'charlie@example.com'},
{'id': 4, 'name': 'David', 'age': 40, 'email': 'david@example.com'},
{'id': 5, 'name': 'Eve', 'age': 45, 'email': 'eve@example.com'},
]
return JsonResponse({'data': data})
반응형
'IT' 카테고리의 다른 글
[Oracle] 테이블 정의서 추출 쿼리 (0) | 2023.03.17 |
---|---|
[Postgresql] 양방향 암호화 방법(AES) (0) | 2023.03.16 |
[ajax] Post 데이터 전송 후 새로고침 하는 방법 (0) | 2023.03.15 |
[postgresql] Postgresql 재기동 없이 설정 적용하기 (0) | 2023.03.09 |
[Oracle] JOB 등록/정지/삭제/변경 방법 (0) | 2023.03.09 |
댓글