Я реализую jqgrid на django, используя JavaScript:
1 .- Создание функции в views.py для запроса (raw sql):
def dictfetchall(cursor):
# Returns all rows from a cursor as a dict"
desc = cursor.description
return [
dict(zip([col[0] for col in desc], row))
for row in cursor.fetchall()
]
def ExampleGrid(request):
cursor = connection.cursor()
query = " SELECT name, email FROM personal_personal ";
cursor.execute(query)
result = dictfechtall(cursor)
retur JsonResponse(result, safe=False)
2 .- Создать URL для функции примера:
url(r'^grid_personal', ExampleGrid, name='grid_personal'),
3 .- определить сетку и пейджер в вашем шаблоне:
<table id="gridPersonal"></table>
<div id="pagerPersonal"></div>
Не забудьте включить в свой шаблон все JS и CSS , необходимые для JQGRID :
Справочная версия Jqgrid JS
4 .- Код Javascript Я предпочитаю использовать внешний файл js:
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
//RETURN TOKEN
return cookieValue;
}//end function getCookie
var csrftoken = getCookie('csrftoken');
$("#gridPersonal").jqGrid({
url:'grid_personal',
postData: {
csrfmiddlewaretoken : csrftoken,
},
datatype: "json",
colNames:['Name', 'Email'],
colModel: [
{name: 'name', width: 40, sorttype:"string", align:'center'}},
{name: 'email', width: 40, sorttype:"string", align:'center'}},
],
loadonce: true,
viewrecords: true,
width: 900,
height: 400,
rowNum:100,
pager: '#pagerPersonal',
rownumbers: true,
caption: "PERSONAL",
shrinkToFit: true,
});
это все, для этого случая я использую версию JqGrid JavaScript.
Удачи .. !!