Gracias por el aporte, justo lo resolvi antes de leer tu ayuda, dejo mi solución. Lo hice mediante js simplemente cambiando el indice a medida que me iba moviendo, el resto de traer los datos con ajax ya lo tenia hecho. El valor de cant_pages lo cargo en un div oculto porque no sabia como acceder a un dato devuelto desde django desde javascript.
Código HTML:
Ver original<div id="cant_pages" data-num="{{cant_pages}}" style="display:none;"></div>
Código Javascript
:
Ver original//PAGINAR SOCIOS
$("body").on("click",".num_page", function(e){
e.preventDefault();
var total = $("#cant_pages").attr("data-num");
var current = parseInt( $(this).attr("data-id") );
var adj = 2; //cantidad paginas a mostrar adjacentes del actual.
var inicio ="";
var fin = "";
var html ="";
if ( (current - adj) < 1 && total < 5 ){
inicio = 1;
fin = total;
}
else if ( (current - adj) < 1 && total > 5 ){
inicio = 1;
fin = 5;
}
else if ( (current + adj) > total ){
fin = total;
current = current - ( (current+adj) - total );
inicio = current - adj;
}
else{
inicio = current - adj;
fin = current + adj;
}
if (inicio != 1){
html+='<li><a class="num_page" data-id="1" href="#"><|</a></li>';
}
for (var i= inicio; i <= fin; i++){
if (i == current){
html+='<li><a class="num_page activo" data-id="'+i+'" href="#">'+i+'</a></li>';
}else{
html+='<li><a class="num_page" data-id="'+i+'" href="#">'+i+'</a></li>';
}
}
if (fin != total){
html+='<li><a class="num_page" data-id="'+total+'" href="#">|></a></li>';
}
$(".pag").html(html);