У меня возникли проблемы с реализацией вышеуказанного плагина jquery с помощью django.
См. Ссылки на код ниже.
В наборе запросов, который я использую для тестирования, имеется 18 строк данных,Все, что отображается, - это строка заголовка (строка с метками), а также нижняя строка пейджера, но не более того.
Кроме того, какой смысл нам используется grid_handler, поскольку на него нет ссылокв любом месте?На сайте jquery-django не так много документации.
Наследование от JqGrid:
class IllustrationLedger(JqGrid):
all_fields = IllustrationGrid().get_fields()
rowNum = 10
queryset = None#IllustrationGrid # could also be a queryset
fields = [ field[0].name for field in all_fields ] # optional
url = None#'/grid/cfg/'
caption = 'Illustration Ledger' # optional
colmodel_overrides = {
'id': { 'editable': False, 'width':10 },
}
def __init__(self, request, id):
super(IllustrationLedger, self).__init__()
self.queryset = IllustrationGrid.objects.filter(illustration=id)
self.url = '/grid/cfg/{0}/'.format(id)
#print IllustrationGrid.objects.filter(illustration=id)
Просмотры:
def grid_handler(request, ill_id):
#print request
grid = IllustrationLedger(request, ill_id)
return HttpResponse(grid.get_json(request), mimetype="application/json")
def grid_config(request,ill_id):
#print request
# build a config suitable to pass to jqgrid constructor
grid = IllustrationLedger(request, ill_id)
print grid.get_config()
return HttpResponse(grid.get_config(), mimetype="application/json")
URLS:
url(r'^grid/(?P<ill_id>\d+)/$', 'grid_handler', name='grid_handler'),
url(r'^grid/cfg/(?P<ill_id>\d+)/$', 'grid_config', name='grid_config'),
Javascript:
$(function(){
$.getJSON("{% url grid_config ill.id %}", function(data){
data['illustration'] = "{{ ill.id }}";
$("#igrid").jqGrid(data)
.navGrid('#pager',
{add: false, edit: false, del: false, view: true},
{}, // edit options
{}, // add options
{}, // del options
{ multipleSearch:true, closeOnEscape:true }, // search options
{ jqModal:false, closeOnEscape:true} // view options
);
});
});
HTML
<table id="igrid"><tr><td/></tr></table>
<div id="pager"></div>