You are on page 1of 14

<td><a href="paginacion/" class="btn btn-info">Consultar </a></td>

3 paso

Templates

Paginación.html

{% extends "./navigacion.html" %}

{% block title %} Desarrollo del Curso de Python {% endblock %}

{% block body %}

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Python Django Pagination Mysql with Bootstrap 5</title>

<td><a href="http://127.0.0.1:8080/" class="btn btn-success">Regresar</a></td>


<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css">

</head>

<body>

<div class="container">

<div class="row">

<div class="col-12">

<h2 style="text-align: center;">Lista de Estudiantes del Curso de Python</h2>


<table id="bootstrapdatatable" class="table table-striped table-bordered" width="100%">

<thead>

<tr>

<th>CODIGO</th>

<th>NOMBRE</th>

<th>MATERIA</th>

<th>NOTA</th>

<th>JORNADA</th>

<th>ESTADO</th>

</tr>

</thead>

<tbody>
{% for e in estudiantes %}

<tr>

<td>{{e.codigo}}</td>

<td>{{e.nombre}}</td>

<td>{{e.materia}}</td>

<td>{{e.nota}}</td>

<td>{{e.jornada}}</td>

<td>{{e.estado}}</td>

</tr>

{% endfor %}

</tbody>
</table>

<nav aria-label="...">

{% if estudiantes.has_other_pages %}

<ul class="pagination">

{% if estudiantes.has_previous %}

<li class="page-item"><a class="page-link" href="?


page={{ estudiantes.previous_page_number }}">Anterior</a></li>
{% else %}

<li class="page-item disabled"><span class="page-link">Anterior</span></li>

{% endif %}

{% for e in estudiantes.paginator.page_range %}

{% if estudiantes.number == e %}

<li class="page-item active" aria-current="page"><a class="page-link" href="#">{{ e


}}</a></li>
{% else %}

<li class="page-item"><a class="page-link" href="?page={{ e }}">{{ e }}</a></li>

{% endif %}

{% endfor %}

{% if estudiantes.has_next %}

<li class="page-item"><a class="page-link" href="?


page={{ estudiantes.next_page_number }}">Siguiente</a></li>

{% else %}

<li class="page-item disabled"><span class="page-link">Siguiente</span></li>


{% endif %}

</ul>

{% endif %}

</nav>

</div>

</div>

</div>

</body>

</html>
<style>

.pagination {

display: flex;

justify-content: center;

margin-top: 20px;

.pagination .page-item {

margin: 0 5px;

.pagination .page-item.disabled span {

background-color: #e9ecef;

border-color: #e9ecef;

color: #6c757d;

.pagination .page-item.active a {

background-color: #007bff;

border-color: #007bff;

color: #fff;

</style>
{% endblock %}
Views.py

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

def paginacion(request):

ListaEstudiantes = Estudiante.objects.all()

page = request.GET.get('page', 1)

paginator = Paginator(ListaEstudiantes, 5)

try:

estudiantes = paginator.page(page)

except PageNotAnInteger:

estudiantes = paginator.page(1)

except EmptyPage:

estudiantes = paginator.page(paginator.num_pages)

return render(request, "paginacion.html", {"estudiantes": estudiantes})

urls.py

path('paginacion/', views.paginacion)
<td><a href="http://127.0.0.1:8080/" class="btn btn-info">Consultar</a></td>

You might also like