Video Corso Django 1.11 - Programmare in Python

Crea il Tuo Blog con Django 1.11 e Bootstrap 3.3.7

10: Paginazione dei Post

Dobbiamo aggiungere il parametro paginate_by alla nostra Funzione ListView:

urlpatterns = [
    url(r'^$', ListView.as_view(
        queryset = Post.objects.all(),
        template_name = "lista_post.html",
        paginate_by = 5), name = "lista"),

E quindi aggiungere i tag di controllo associati alla clausola IF per verificare se sia presente un oggetto pagina precedente o successivo alla pagina che stiamo visualizzando (quindi se il numero di post è superiore al parametro passato a paginate_by) in modo da poter aggiungere il tasto "successivo" e "precedente":

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <title>Lista Post</title>
</head>
<body>

        {% for object in object_list %}

    <a href="{{object.get_absolute_url}}/"><h1>{{object.titolo}}</h1></a>
        <p>{{object.data}}</p>
    {{ object.contenuto|safe|linebreaks|truncatewords_html:50 }}

        {% endfor %}

<div>
        {% if page_obj.has_previous %}
            <a href="?page={{ page_obj.previous_page_number }}">Indietro</a>
        {% endif %}

        {% if page_obj.has_next %}
            <a href="?page={{ page_obj.next_page_number }}">Avanti</a>
        {% endif %}
</div>

</body>
</html>
Menu della Serie