Проблема
Мне нужна нумерация страниц Ajax с использованием jQuery в шаблоне Django.
Ситуация
В моем шаблоне есть следующий код:
<script type="text/javascript">
$(document).ready(function() {
$("#next-page").click(function() {
var page = {{ vms.next_page_number }};
$("#vms").html(' ').load (
'{% url virtualmachine-list %}?page=' + q );
});
});
</script>
[code omitted]
<table>
<thead>
[code omitted]
</thead>
<tbody id="vms">
{% for vm in vms.object_list %}
[code omitted]
{% endfor %}
</tbody>
</table>
[code omitted]
{% if vms.has_next %}
<!--<a href="?page={{ vms.next_page_number }}" id="next-page">Next</a>-->
<a href="#" id="next-page">Next</a>
{% endif %}
</span>
и мой взгляд:
def list_(request):
vms = VirtualMachine.objects.all()
paginator = Paginator(vms, 10)
page = 1
if request.is_ajax():
query = request.GET.get('page')
if query is not None:
page = query
try:
vms = paginator.page(page)
except (EmptyPage, InvalidPage):
vms = paginator.page(paginator.num_pages)
return render_to_response('virtual_machine/list.html', {
'vms': vms,
},
context_instance=RequestContext(request),
)
Заключение
Итак, всякий раз, когда я нажимаю «Далее», он на самом деле выполняет запрос Ajax, но данные не отображаются в таблице.
Для разбиения на страницы используется django.core.paginator, и я действительно хотел бы придерживаться его, когда это возможно.
Можете ли вы увидеть, что в коде отсутствует / нет?