Pager within this function and I do not know how to do it and tried several ways but it does not work out here I leave the pager code, please help me
class ListarTipoAlmacen(ListView):
model = Tipo_almacen
template_name = 'tipo_almacen/lista_tipo_almacen.html'
def get(self, request, *args, **kwargs):
lista_tipo_almacen = Tipo_almacen.objects.all().order_by('descripcion')
buscar_descripcion = ''
paginator = Paginator(lista_tipo_almacen, 10)
page = self.request.GET.get('page')
try:
npagina = paginator.page(page)
except PageNotAnInteger:
npagina = paginator.page(1)
except EmptyPage:
npagina = paginator.page(paginator.num_pages)
if request.GET:
buscar_descripcion = request.GET.get('buscar_descripcion', '')
if buscar_descripcion == '':
messages.info(request, 'Introduzca términos de búsqueda')
else:
lista_tipo_almacen = Tipo_almacen.objects.filter(descripcion__contains=buscar_descripcion).order_by('descripcion')
if not lista_tipo_almacen:
messages.error(request, 'No se encontraron registros en la base de datos')
return render(request, 'tipo_almacen/lista_tipo_almacen.html', {
'lista_tipo_almacen': lista_tipo_almacen,
'termino_busqueda': buscar_descripcion,
'npagina': npagina
})
my HTML code
<ul class="pagination">
{% if npagina.has_previous %}
<li class="">
<span><a href="?page={{ npagina.previous_page_number }}"> << </a></span>
</li>
{% endif %}
{% for num in npagina.num_pages %}
<li class="activate">
<span> <a href="?q={{ npagina }}&page={{ num }}"> {{ num }}</a> </span>
</li>
{% endfor %}
{% if npagina.has_next %}
<li>
<span><a href="?page={{ npagina.next_page_number }}"> >> </a></span>
</li>
{% endif %}
</ul>