Good first of all, I'm trying to fill a table with jquery and Datatable. I've already read several tutorials and nothing, I do not fill the table. Below I will put my codes:
server-side code with django
@login_required
def activos_mostrar(request):
if request.method == 'GET':
obj_activos = Activos.objects.values('id', 'nombre', 'direccion_ip', 'tipos_dispositivos', 'sistema_operativo', 'valor_activo')
obj_activos_temp = {}
obj_activos_temp['draw'] = request.GET['draw']
obj_activos_temp['recordsTotal'] = len(obj_activos)
obj_activos_temp['recordsFiltered'] = len(obj_activos)
if len(obj_activos) != 0:
for temp in obj_activos:
if 'data' in obj_activos_temp:
obj_activos_temp['data'].append({'icon': "<img src=\" \# \" class= \" ui-icon ui-icon-circle-plus \" >", 'nombre': temp['nombre'], 'direccion_ip': temp['direccion_ip'], 'tipos_dispositivos': temp['tipos_dispositivos'], 'sistemas_operativo': temp['sistema_operativo'], 'valor_activo': temp['valor_activo'], 'vuln_planif': "no", 'disp_planif': "no", 'extra': temp['id']})
else:
obj_activos_temp.setdefault('data', {'icon': "<img src=\" \# \" class= \" ui-icon ui-icon-circle-plus \" >", 'nombre': temp['nombre'], 'direccion_ip': temp['direccion_ip'], 'tipos_dispositivos': temp['tipos_dispositivos'], 'sistemas_operativo': temp['sistema_operativo'], 'valor_activo': temp['valor_activo'], 'vuln_planif': "no", 'disp_planif': "no", 'extra': temp['id']})
else:
obj_activos_temp['data'] = ""
return JsonResponse(obj_activos_temp)
template code:
var table = $("#table_activos").dataTable({
"processing": true,
"serverSide": true,
"pagingType": "full_numbers",
"ajax": "activos/mostrar/",
"columns": [
{ "data": "icon" },
{ "data": "nombre" },
{ "data": "direccion_ip" },
{ "data": "tipos_dispositivos" },
{ "data": "sistema_operativo" },
{ "data": "valor_activo" },
{ "data": "vuln_planif" },
{ "data": "disp_planif" }
],
"language": {
"zeroRecords": "No hay activos disponibles"
}
});
<link type="text/css" href="{{ STATIC_PREFIX }}css/jquery-ui.min.css" rel="stylesheet" />
<link type="text/css" href="{{ STATIC_PREFIX }}datatables/DataTables-1.10.16/css/jquery.dataTables.min.css" rel="stylesheet" />
<link type="text/css" href="{{ STATIC_PREFIX }}datatables/DataTables-1.10.16/css/dataTables.jqueryui.min.css" rel="stylesheet" />
<script type="text/javascript" charset="utf-8" src="{{ STATIC_PREFIX }}js/jquery-1.11.3.min.js" ></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}js/jquery-ui.min.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}datatables/DataTables-1.10.16/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="{{ STATIC_PREFIX }}datatables/DataTables-1.10.16/js/dataTables.jqueryui.min.js"></script>
<table id="table_activos">
<thead>
<tr>
<th></th>
<th>NOMBRE EQUIPO</th>
<th>IP</th>
<th>TIPO DE DISPOSITIVO</th>
<th>SISTEMA OPERATIVO</th>
<th>VALOR ACTIVO</th>
<th>VULN PLANIFICADO</th>
<th>DISPONIBILIDAD CONFIG</th>
</tr>
</thead>
</table>
This is my json response
recordsFiltered: 1
recordsTotal: 1
recordsFiltered 1
data: Object
tipos_dispositivos: 1
nombre: er
vuln_planif: no
valor_activo: 2
sistema_operativo: 1
direccion_ip: 1.1.1.1
disp_planif: no
icon: <img src=" \# " class= " ui-icon ui-icon-circle-plus " >
DT_RowData: Object
pkey: 1
DT_RowId: 1
draw: 1